我的问题是下一个: 在界面构建器中,我创建了UINavigationBar,我想创建“后退”按钮项,但我没有看到任何按钮。
我使用此代码:
UIBarButtonItem *myBarButtonItem = [[UIBarButtonItem alloc] init];
myBarButtonItem.title = @"Back";
mynavBar.backItem.backBarButtonItem = myBarButtonItem;
mynavBar - 这是我的IBOutlet。
感谢您的帮助!
答案 0 :(得分:5)
您可以将导航栏用作独立控件或与导航控制器配合使用。当您使用导航栏作为独立控件时,可以使用导航项(UINavigationItem类的实例)来指定要显示的按钮或自定义视图。
所以在你的情况下你会使用这样的东西:
UIBarButtonItem *myBarButtonItem = [[[UIBarButtonItem alloc] init] autorelease];
myBarButtonItem.title = @"Back";
UINavigationItem *right = [[[UINavigationItem alloc] initWithTitle:@"Hello!"] autorelease];
right.leftBarButtonItem = myBarButtonItem;
[mynavBar pushNavigationItem:right animated:YES];
您可能希望考虑使用UINavigationViewController。
答案 1 :(得分:2)
如果您想要左侧的自定义按钮,请使用mynavBar.leftBarButtonItem而不是backItem。
在您通过pushViewController:
呈现另一个viewcontroller后,backItem只会显示。 (如果您没有设置自己的后退按钮,将自动创建带有前一个viewController标题的默认backButton。)
//编辑:也许你会寻找: Draw custom Back button on iPhone Navigation Bar
答案 2 :(得分:1)
我认为这是苹果希望实现这一目标的实际方式。
放入UINavigationBar
将出口设置为UINavigationItem
这是捕获
重写navigationItem属性以返回您创建的UINavigationItem。
就是这样。
-(UINavigationItem *) navigationItem
{
return self.navigationItem1;
}
如果你的navigationItem仍然在UINavigationBar中,我认为你也需要有一个强大的UINavigation Bar出口。如果我在这里错了,请纠正我。