【发布时间】:2013-03-10 10:06:04
【问题描述】:
我的项目中有 30 多个视图控制器,其中 28 个要添加行为。
如果在该视图控制器中未通过 10 秒,则单击按钮时,我需要呈现一个从顶部滑动的警报视图。 (我已经为其中一个实现了这种行为)
但我的问题是,我怎样才能以适当的方式为所有这些视图控制器继承这种行为?
谷歌搜索,但找不到相关的解决方案。
【问题讨论】:
标签: ios uiviewcontroller storyboard
我的项目中有 30 多个视图控制器,其中 28 个要添加行为。
如果在该视图控制器中未通过 10 秒,则单击按钮时,我需要呈现一个从顶部滑动的警报视图。 (我已经为其中一个实现了这种行为)
但我的问题是,我怎样才能以适当的方式为所有这些视图控制器继承这种行为?
谷歌搜索,但找不到相关的解决方案。
【问题讨论】:
标签: ios uiviewcontroller storyboard
如果需要此功能的所有视图控制器都是 UIViewController 的子类,即不是 UITableViewController 或 UIViewController 的另一个子类,您可以创建 UIViewController 的子类,例如 ButtonClickAlertViewController(或其他有意义)实现了您需要复制的功能。然后让所有需要此功能的类子类化您的 ButtonClickAlertViewController 类而不是 UIViewController。
您可能需要考虑如何将此特定功能集成到每个单独的视图控制器类中。例如,您可能需要 ButtonClickAlertViewController 类中的一个方法来指示按钮已被单击,以便检查您的计时器并可能显示警报。在您的每个 ButtonClickAlertViewController 子类的类中,您可能需要在按钮单击操作调用的每个 IBAction 方法中调用此方法。
【讨论】:
子类 UIViewController 并为所有视图控制器添加您想要的行为,然后从 viewController 中子类您现有的视图控制器并使用所需的行为。
继承链:
UIViewController -> ViewControllerWithBehaviorForAll -> YouExistingViewlContollersWhichNeedTheBehavior
【讨论】: