【发布时间】:2015-05-12 07:50:32
【问题描述】:
我的 iOS 应用程序出现问题,我正在寻求帮助。我对 iOS 编程比较陌生,我确信有一些相对简单的解决方案可以解决我的问题。
首先,我要解释一下应用程序的层次结构:
- 它使用
UITabBarController来显示几个不同的屏幕。 - 它使用
SWRevealViewController来显示侧边栏 - 从应用程序导航栏中的条形按钮项访问侧边栏。
应用程序使用SWRevealViewController https://github.com/John-Lluch/SWRevealViewController 不会直接影响我遇到的问题。如果您不熟悉此代码库,请考虑始终显示的简单条形按钮。
现在问题来了:
- 我要显示的栏按钮与几行代码相关联。 (
property声明和一些方法)。 - 此代码应用于应用程序中不同视图控制器的主要部分。
现在,在正常情况下,我只是将UIViewController 子类化并使其成为我所有应该显示此按钮的视图的超类。但是,我的应用程序还应该显示其他类型的视图,例如 UITableViewController,因此子类化并不能解决整个问题。
如果Objective-C 支持多重继承,我会创建一个包含此代码的类,并让我的其他类同时扩展UIViewController 的任何子类和我丑陋的支持类。
注意事项:
- 目前,我的应用基于 Storyboards
-
TabBarController指向多个UINavigationControllers,而不是任何没有导航栏的视图。 - 我已经尝试使用
Objective-cCategory来实现这一点,我在其中向 UIViewController 添加了一个类别,用于设置我的 UIViewController。但是当我需要为按钮添加@Property并将其链接到 XIB/Storyboard 时,我陷入了这个解决方案。从这篇帖子Add the same UIBarButtonItem to several UIViewControllers 中得到了这个想法,但它不包含任何细节。
tl;dr:我想在我的许多应用程序视图中显示相同的 UIBarButtonItem。 UIBarButtonItem 与一些代码相关联,这对于所有这些视图也是相同的。
什么是实现这一目标的好方法?
【问题讨论】:
标签: ios uibarbuttonitem objective-c-category swrevealviewcontroller