문제

내 앱의 뷰 사이를 전환하기 위해 탐색 제어를 추가했습니다. 그러나 일부보기에는 '백'(이전 제목) 버튼이 없어야합니다. 뒤로 버튼을 숨기는 방법에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

대상 C :
self.navigationItem.hidesBackButton = YES;

빠른:
navigationItem.hidesBackButton = true

다른 팁

가장 좋은 방법은 이것들을 결합하는 것이므로 수동으로 설정하더라도 뒤로 버튼을 숨길 수 있습니다.

self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;

벨로우 코드로 뒤로 버튼을 숨 깁니다 ...

[self.navigationItem setHidesBackButton:YES animated:YES];

또는

[self.navigationItem setHidesBackButton:YES];

또한 관습이있는 경우 UINavigationBar 그런 다음 벨로우 코드를 시도하십시오

self.navigationItem.leftBarButtonItem = nil;

코드 사용 :

 self.navigationItem.backBarButtonItem=nil;

~ 안에 빠른:

이것을 제어 장치

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.setHidesBackButton(true, animated: false)
}

UIViewController의 function viewDidload에서 코드를 사용합니다.

self.navigationItem.hidesBackButton = YES;

NAV 컨트롤러가있는 객체에서 호출해야한다는 것을 잊지 마십시오. 예를 들어, NAV 컨트롤러가 rootViewController를 사용하여 탭 바 컨트롤러를 밀고있는 경우 self.navigationItem.hidesBackButton = YES RootViewController에서는 아무것도하지 않습니다. 실제로 전화해야합니다 self.tabBarController.navigationItem.hidesBackButton = YES

지금 우리는 뒤로 제스처를위한 슬라이드가 있다는 것을 잊지 마십시오. 당신은 아마 이것도 제거하고 싶을 것입니다. 필요한 경우 다시 활성화하는 것을 잊지 마십시오.

if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
    self.navigationItem.hidesBackButton = YES;
}

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}

View Controller 에이 코드를 추가하십시오

UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;

위의 어느 것도 효과가없는 것처럼 보이지만 시각적 효과가 없었습니다. 내비게이션 컨트롤러에 "내장 된"뷰가있는 스토리 보드를 사용하고 있습니다.

그런 다음 코드 레벨에서 내 menuitems를 추가하고 어떤 이유로 뷰 계층 구조를 시각적으로 디버깅 할 때 "backbutton"이 보이고, 내 menuitem 아이콘이 보이지 않는 "뒤로 버튼"아래에 표시됩니다.

다양한 후크 방법에서 제안한대로 설정을 시도했지만 효과가 없었습니다. 그런 다음 더 잔인한 접근 방식을 시도하고 효과가없는 하위 뷰를 반복했습니다.

아이콘 크기를 검사하고 괜찮은 것처럼 보였습니다. He Apple Human Interface Guideline을 언급 한 후 아이콘이 정확하다는 것을 확인했습니다. (내 경우에는 1 픽셀 더 작은 24px 48px 72px).

가장 이상한 부분은 실제 수정입니다 ...

Barbutton 항목을 추가 할 때 적어도 하나의 문자로 제목을 부여합니다., 내 경우에는 공간 문자입니다.

이것이 누군가를 돕기를 희망합니다.

//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX 
                                                                    style:UIBarButtonItemStylePlain
                                                                  target:self
                                                                  action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];

[self.navigationItem setLeftBarButtonItem:leftButtonItem];

내가 설정할 때 모든 경우에 나를 위해 일하지 않았다.

self.navigationitem.hidesbackbutton = 예;

ViewWillAppear 또는 ViewDidload에서는 ViewController의 init에서 설정할 때 완벽하게 작동했습니다.

이거 한번 해봐 -self.navigationController?.navigationItem.hidesBackButton = true

c# 또는 xamarin.ios에서 this.navigationitem.hidesbackbutton = true;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top