设置左侧按钮的重用导航栏项目按钮
虽然不是通过导航控制器控制器(通过故事板添加到VC),但我通过应用程序使用导航栏。设置左侧按钮的重用导航栏项目按钮
我想设置一个左栏按钮项目,在导航控制器上的使用相同。这是用于将滑入的菜单的堆叠样式:
按照标准实践来实现此按钮的正确方法是什么?我可以将bg按钮设置为可重复的,这不是问题,但我如何完成以下操作: 1.在按钮内实现图像 2.如果可能,通过外观API实现此按钮,以使代码不是胶水代码并重新用于所有拥有此功能的VC。
如果我不能通过外观做什么,最好的方法是不必将这些代码反复包含在使用它的控制器中?
除此之外,有没有一种方法可以在故事板中显示此按钮项目,并且可以在故事板中链接/具有视觉以外的用途。
好的,现在我正在关注你。在这种情况下,只需创建一个自定义navBar类并将其添加到您的pch中,然后在必要时使用它或创建一个名为“UIViewControllerWithNavBar”的自定义UIViewController子类,然后您可以使用该类作为默认UIViewController类的替代品。
@interface SomeViewController : UIViewControllerWithNavBar
这将允许您在整个应用程序中重复使用navBar中的类。
接受为答案,但我的方法是继承UINavigationBar并使用awakeFromNib进行酒吧外观 – StuartM 2013-05-03 15:47:43
我最近写了一篇关于这个问题的博客文章,但是关于rightBarButtonItem。我不知道如果“后退”功能,将需要调整,但这里的博客文章,如果有兴趣:http://www.codebestowed.com/ios-shared-barbuttonitems/
的基本思想是继承UINavigationController的,给它一个BarButtonItem属性(self.myButton在下面的代码)并添加类似于代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.delegate = self;
}
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
if (!viewController.navigationItem.rightBarButtonItem) {
viewController.navigationItem.rightBarButtonItem = self.myButton;
}
}
博客文章详细介绍了如何可以在InterfaceBuilder中,这需要一个黑客位(太多进入这个答案)的进一步此设置。
您可以为viewController创建一个类别,并将navBarItem添加到navBar。如果您没有使用该按钮进行导航,那么该按钮的预期结果是什么?菜单在整个酒吧下面滑动?您可以使用图像栏项目的图像属性。 – 2013-04-30 18:11:42
是的菜单在下面滑动。对于多个VC来说也是一样。我会使用图像属性,而不是拉伸图像,只是将其用作整个图像?它不是所有的视图控制器,但有7个左右,将使用这个,你还推荐一个类别? – StuartM 2013-05-01 08:12:51
@MarkM - 你有什么需要什么的其他信息?如何创建类别和方法? – StuartM 2013-05-02 15:52:47