programing

뒤로 가기 단추에서 텍스트를 변경하는 방법

codeshow 2023. 10. 29. 20:04
반응형

뒤로 가기 단추에서 텍스트를 변경하는 방법

기본적으로 뒤로 단추는 보기 컨트롤러의 제목을 텍스트로 사용합니다.보기 컨트롤러의 제목을 변경하지 않고 뒤로 단추의 텍스트를 변경할 수 있습니까?저는 보기 컨트롤러가 있어서 어떤 제목을 표시하기에 너무 길기 때문에 이것이 필요합니다. 이 경우에는 뒤로 버튼에 대한 캡션으로 "뒤로"만 표시하고 싶습니다.

저는 다음을 시도했지만 효과가 없었습니다.

self.navigationItem.leftBarButtonItem.title = @"Back";

감사해요.

해라

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];

저는 애플의 UI 탐색 항목 문서에서 backBarButtonItem 문서를 살펴봄으로써 그것을 발견했습니다.

Marc W의 접근 방식은 어느 컨트롤러에 적용할지 결정했을 때 아주 효과적이었습니다. 맨 위에 있는 컨트롤러가 아니라 제목을 변경하는 컨트롤러 말입니다.탐색 스택인 경우 다음을 수행합니다.

(bottom)  ControllerA -> ControllerB  (top)

...Controller B가 맨 위에 있을 때 표시되는 Back-button에서 Controller A에 더 짧은 제목을 부여하려면 속성 변경을 Controller A에 적용합니다.

그래서 그것은 더 많은 것이self.title, 다른 좌측/우측 바 버튼 설정기와는 다릅니다.

스토리보드에서 할 수 있습니다.다시 돌아가려는 보기 컨트롤러(긴 제목을 가진 보기 컨트롤러)를 찾아 탐색 항목을 선택한 다음 Attributes Inspector(Alt+Cmd+4)를 열고 사용자 지정 Back Button 제목을 삽입합니다.

enter image description here

고마워요 마르코..그게 내게 도움이 됐어요

제가 한 일은 이렇습니다.

테이블 보기를 사용하여 다른 보기로 이동하는 경우...코드를 입력합니다.

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];

당신의didSelectRowAtIndexPath메소드...첫번째 콘트롤러의...컨트롤러 A.

컨트롤러 B로 이동하면 버튼에 "뒤로"라는 제목이 붙습니다.

뒤로 단추는 상위 보기 컨트롤러의 제목에서 텍스트를 가져옵니다.

상위 보기 컨트롤러(뒤로 단추를 누르면 나타나는 보기 컨트롤러)에서 자신의 제목을 뒤로 단추의 원하는 텍스트로 설정합니다.

예를 들어, 우리가 그들이RootViewController클래스. 테이블 뷰에서 셀을 클릭할 때, 우리는 예를 푸쉬합니다.SecondViewController. 우리는 뒤로 버튼을 원합니다.SecondViewController"Home"이라고 읽는 인스턴스.

에서viewDidLoadRootViewController.m 메서드:

self.title = @"Home";

에서viewDidLoadSecondViewController.m 메서드:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];    

뒤로 단추를 "뒤로"로 읽으려면 상위 보기 컨트롤러의 제목을 다음으로 설정합니다.@"Back";

이 일이 저에게 더 잘 통합니다.시도:

 self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc] 
initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];

스토리보드를 사용하는 경우:

  1. 스토리보드 열기
  2. 문서 개요 창에서 돌아갈 보기컨트롤러를 찾습니다.
  3. 해당 View Controller의 탐색 항목 클릭
  4. 속성 탐색기에서 단추 뒤로 단추 값을 사용자 정의 타일로 변경

그게 다야, 즐겨라...

MonoTouch에서는 다음과 같은 작업을 수행합니다(부모 컨트롤러의 ViewDidLoad에서).

NavigationItem.BackBarButtonItem = new UIBarButtonItem( "Back", UIBarButtonItemStyle.Plain, null);
[self.navigationItem setBackBarButtonItem:[[UIBarButtonItem alloc]
  initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil]];

저는 이게 통했어요.

상위 보기 컨트롤러에서 로드를 볼 때 뒤로 버튼을 설정합니다.

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view.
    self.navigationItem.backBarButtonItem = 
       [[UIBarButtonItem alloc] initWithTitle:@"title" 
                                        style:UIBarButtonItemStylePlain 
                                       target:nil 
                                       action:nil];

}

우리가 다음을 포함할 필요가 없다는 것을 주목합니다.autorelease최신 iOS 버전으로 끝을 맺을 수 있습니다.

도움이 되길 바랍니다!

[self.navigationController.navigationBar.backItem setTitle:@"back"];

저한테는 효과가 있어요."back"을 다른 것으로 대체할 수 있습니다.

타이틀을 갖고 싶지 않으신 분들은 저한테 잘 맞았습니다.

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];

처음에는 왜 이런 대답이 나에게 통하지 않았는지 이제야 알았습니다.스토리보드에 제목을 설정했습니다.제목을 코드로 설정할 때.효과가 있어요!

self.navigationItem.title = @"Main Menu";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStyleBordered target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];

내 솔루션은 뷰 컨트롤러를 탐색 스택으로 푸시할 때 제목을 설정하고 푸시된 VC가 닫히기 전에 위임 방법을 사용하여 재설정하는 것이었습니다.

그래서 다음과 같이 다른 뷰 컨트롤러를 누르면 호출 뷰 컨트롤러에 제목 변경을 넣었습니다.

self.pushedVC = [self.storyboard instantiateViewControllerWithIdentifier:@"pushedVCIdentifier"];
self.pushedVC.delegate = self;   
[self.navigationController pushViewController:self.pushedVC animated:YES];
self.title = @"Back";

그리고 (보기에서 WillDisaper를 호출하는) 대리 콜백 함수에서 다음을(를) 호출합니다.

-(void)pushedVCWillClose:(PushedVC *)sender
{
    self.title = @"Previous Title";
}

뒤로 단추의 텍스트를 변경하여 원래의 왼쪽 화살표 모양으로 유지할 뿐만 아니라 사용자가 뒤로 단추를 클릭할 때 작업을 수행하려면 "Custom Navigation Controller"를 둘러보는 것이 좋습니다.

//아래와 같이 이전 보기 컨트롤러에서 제목을 설정하면 이를 달성할 수 있습니다.

override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        //Set Title for this view
        self.navigationItem.title = "My Title"

}

override func viewWillDisappear(animated: Bool) {
        super.viewWillAppear(animated)
        //Set Title for back button in next view 
        self.navigationItem.title = "Back"
}

뒤로 버튼 제목을 변경하려면 아래 코드를 참조하십시오.

InformationVC *infoController=[[InformationVC alloc]init];[self.navigationController infoController animated:YES];

//Below code changed back button title on InformationVC page.
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Information" style: UIBarButtonItemStylePlain target: nil action: nil];
self.navigationItem.backBarButtonItem = backBarButton;`enter code here`

Swift5에서는 backBarButton을 편집할 수 없습니다.따라서 backBarButton을 먼저 숨기고 backBarButton을 교체하기 위해서는 맞춤형 leftButton을 사용해야 합니다.자세한 솔루션은 다음과 같습니다. https://stackoverflow.com/a/63868300/13939003

효과가 있었습니다.

self.navigationController.navigationBar.topItem.title = "Back"

언급URL : https://stackoverflow.com/questions/835607/how-to-change-text-on-a-back-button

반응형