我的项目中有30多个viewcontroller,并且有28个行为被添加。
如果单击一个按钮,如果在该视图控制器中没有传递10秒,我需要显示从顶部滑动的警报视图。 (我已经为其中一个实现了这种行为)
但我的问题是,如何以适当的方式为所有这些viewcontrollers继承此行为?
谷歌搜索,但无法找到相关解决方案。
答案 0 :(得分:3)
如果需要此功能的所有视图控制器都是UIViewController
的子类,即不是UITableViewController
或UIViewController
的另一个子类,则可以创建UIViewController
的子类,说ButtonClickAlertViewController
(或任何有意义的)实现您需要复制的功能。然后让所有需要此功能的类继承ButtonClickAlertViewController
类而不是UIViewController
。
您可能需要考虑此特定功能如何集成到每个视图控制器类中。例如,您可能需要ButtonClickAlertViewController
类中的一个方法,该方法表示已单击按钮以检查计时器并可能显示警报。在每个子类ButtonClickAlertViewController
的类中,您可能需要在按钮单击操作调用的每个IBAction
方法中调用此方法。
答案 1 :(得分:0)
子类UIViewController
并为所有视图控制器添加所需的行为,然后从viewController子类化现有的视图控制器,并具有所需的行为。
继承链:
UIViewController - > ViewControllerWithBehaviorForAll - > YouExistingViewlContollersWhichNeedTheBehavior