iPhone의 탐색 모음에서 '뒤로'버튼을 숨기는 방법?
내 앱에서보기 간을 전환하기 위해 탐색 컨트롤을 추가했습니다. 그러나 일부보기에는 '뒤로'(이전 제목) 버튼이 없어야합니다. 뒤로 버튼을 숨기는 방법에 대한 아이디어가 있습니까?
목표 -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의 viewDidLoad 함수에서 다음 코드를 사용하십시오.
self.navigationItem.hidesBackButton = YES;
네비게이션 컨트롤러가있는 객체에서 호출해야한다는 것을 잊지 마십시오. 예를 들어, 내비게이션 컨트롤러가 RootViewController로 탭 바 컨트롤러를 밀고 있으면 RootViewController를 호출 self.navigationItem.hidesBackButton = YES
해도 아무런 변화가 없습니다. 실제로 전화해야합니다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;
}
이 코드를 뷰 컨트롤러에 추가
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
나에게 위의 어느 것도 효과가없는 것처럼 보였지만 시각적 효과는 없었습니다. 네비게이션 컨트롤러에 "내장"된보기가있는 스토리 보드를 사용하고 있습니다.
그런 다음 코드 수준에서 menuItems를 추가하면 어떤 이유로 든보기 계층 구조를 시각적으로 디버깅 할 때 "backButton"이 표시되고 메뉴 항목 아이콘이 보이지 않는 "back button"아래에 표시됩니다.
다양한 후크 방법에서 제안한대로 설정을 시도했지만 아무런 효과가 없었습니다. 그런 다음 더 잔인한 접근 방식을 시도하고 효과가없는 하위 견해를 반복했습니다.
아이콘 크기를 검사 한 후 문제가없는 것으로 보입니다. 애플 휴먼 인터페이스 가이드 라인을 참조한 후 아이콘이 올바른지 확인했습니다. (필자의 경우 24px 48px 72px에서 1 픽셀 작음).
가장 이상한 부분은 실제 수정입니다 ...
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 = YES;
viewWillAppear 또는 ViewDidLoad에 있지만 viewController의 init에 설정하면 완벽하게 작동합니다.
이걸로 해봐 - self.navigationController?.navigationItem.hidesBackButton = true
c # 또는 Xamarin.ios에서 this.NavigationItem.HidesBackButton = true;
참고 URL : https://stackoverflow.com/questions/614212/how-to-hide-back-button-on-navigation-bar-on-iphone
'Programing' 카테고리의 다른 글
패키지 이름과 일치하는 클라이언트를 찾을 수 없습니다 (Google Analytics)-여러 productFlavors & buildTypes (0) | 2020.03.11 |
---|---|
Vim에서 세로 분할 창 크기를 늘리는 방법 (0) | 2020.03.11 |
부트 스트랩 모달에 포함 된 경우 Select2가 작동하지 않습니다 (0) | 2020.03.10 |
“#! / usr / bin / env bash”와“#! / usr / bin / bash”의 차이점은 무엇입니까? (0) | 2020.03.10 |
iOS 네트워킹 애플리케이션 (REST 클라이언트)을 구축하기위한 최상의 아키텍처 접근 방식 (0) | 2020.03.10 |