[英]Navigation Bar Back Button not working
我正在嘗試添加自定義后退按鈕,以便可以在彈出控制器之前執行一些任務。 但是,無論我多么努力嘗試將此功能與后退按鈕綁定都無法正常工作。 我添加一些代碼來了解
-(void)customizeNavigationBar
{
self.navigationController.navigationBarHidden = NO;
self.navigationItem.title = @"Video Call";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle:@" " style:UIBarButtonItemStylePlain
target:self action:@selector(didBackBtnTap)];
[self.navigationItem setBackBarButtonItem:backButton];
}
這是根本不調用的函數,
-(void)didBackBtnTap
{
[self popToProfileScreen];
}
請提出任何解決方案,謝謝。
使用leftbarbutton
項而不是setBackBarButtonItem
self.navigationItem.leftBarButtonItem = backButton;
當您使用setLeftBarButtonItem
或setBackBarButtonItem
,它將對您要推送到的viewController生效,但對當前的viewController無效。 這就是為什么您需要直接設置當前的leftBarButtonItem
另一個選擇是在viewWillDisappear中編寫您的自定義代碼。
使用此代碼
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 0, 15, 15);
[backButton setImage:[UIImage imageNamed:@"backButtonImage"] forState:UIControlStateNormal];
[backButton setTitle:@"Back" forState:UIControlStateNormal];
backButton.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
[backButton addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
在xcasstes backButtonImage中添加類似於 NavigationBar的后退按鈕的圖像(15 * 15,@ 1x @ 2x @ 3x)
- (void)backButtonPressed {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.