我有一个基于标签栏的应用程序。但是用户可以从一个屏幕转到没有标签栏的更详细的视图。
详细屏幕顶部有一个导航栏,右侧有一个简单的按钮,作为导航栏的一部分,它可以工作。(我在 IB 的 Bar Button Item 中创建了导航栏和右键,并将其附加到网点)
然而,由于我必须从这个屏幕返回,所以我喜欢使用标准导航栏添加 STANDARD 后退按钮。(我可以在 IB 中手动添加它,但我没有现成的标准图像,并且认为使用标准会“更智能”)
这是我在 SettingsVC1 中创建详细视图(即 SettingsVC2)的地方:
SettingsVC2 *settingsVC2 = [[SettingsVC2 alloc] initWithNibName:@"SettingsVC2" bundle:nil selectedTCNumber:tcNumber];
settingsVC2.delegate = self;
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
settingsVC2.navigationItem.backBarButtonItem = temporaryBarButtonItem;
settingsVC2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:settingsVC2 animated:YES completion:nil];
虽然导航栏本身出现在 SettingsVC2 中,但其中没有后退按钮。
这是 SettingsVC2 本身的代码:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil selectedNumber: (NSInteger) numberx
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.tabBarItem.image = [UIImage imageNamed:@"settings"];
self.view.backgroundColor = [UIColor whiteColor];
self.tableView.opaque = TRUE;
navBar.tintColor = [UIColor colorFromRGBIntegers:W_COLOR_R green:W_COLOR_G blue:W_COLOR_B alpha:W_COLOR_A];
navBar.topItem.title = NSLocalizedString(@"Settings2", @"Settings2");
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
/*
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[self.navigationItem.backBarButtonItem setEnabled:YES];
[self.navigationItem.backBarButtonItem setStyle:UIBarButtonItemStyleDone];
*/
navBar.topItem.backBarButtonItem = temporaryBarButtonItem;
}
return self;
}
这段代码和注释掉的代码都不会出现后退按钮。
是否有“标准”方式来获取后退按钮(在我的情况下不使用 UINavigationController)还是我必须在 IB 中手动添加它并获取适当的背景图像?
非常感谢!