如果app沒有要求可以用系統的,不過很多app到時要求自定義返回按鈕的,不過設置也比較簡單 ,設置一個根UINavigationController,創建工程的時候設置的UINavigationController繼承根UINavigationController就可以,然后在UINavigationController中有個-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated方法,我們在這里面設置就可以了
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
if (self.childViewControllers.count) { // 非根控制器
//這里面就是設置一個UIButton
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [backButton setTitle:@"返回" forState:UIControlStateNormal]; [backButton setImage:[UIImage imageNamed:@"navigationButtonReturn"] forState:UIControlStateNormal];// [backButton setImage:[UIImage imageNamed:@"navigationButtonReturnClick"] forState:UIControlStateHighlighted]; [backButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [backButton setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; [backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; [backButton sizeToFit]; // 注意:一定要在按鈕內容有尺寸的時候,設置才有效果 backButton.contentEdgeInsets = UIEdgeInsetsMake(0, -25, 0, 0); // 設置返回按鈕 viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; } // 這個方法才是真正執行跳轉 [super pushViewController:viewController animated:animated];}
-(void)back{ [self popViewControllerAnimated:YES];}
新聞熱點
疑難解答