自定義導航欄的返回鍵
阿新 • • 發佈:2019-01-04
UIImage *backButtonHomeImage = [[UIImage imageNamed:@"nav_back"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)]; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonHomeImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; //隱藏下級導航欄的backbutton title UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init]; temporaryBarButtonItem.title = @" "; self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
或者使用左鍵代替返回鍵
NSMutableArray * leftBarButtonItems = [[NSMutableArray alloc] initWithCapacity:0]; UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [backButton setBackgroundImage:[UIImage imageNamed:@"nav_back"] forState:UIControlStateNormal]; [backButton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; backButton.frame = CGRectMake(0, 7, 30, 30); UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; [leftBarButtonItems addObject:leftBarButtonItem]; //佔位的button,減少返回鍵的觸控範圍===以下也可以不要 UIButton *nullButton = [UIButton buttonWithType:UIButtonTypeCustom]; UIBarButtonItem *nullBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:nullButton]; [leftBarButtonItems addObject:nullBarButtonItem]; [self.navigationItem setLeftBarButtonItems:leftBarButtonItems];