1

我的项目中有 30 多个视图控制器,其中 28 个要添加一个行为。

如果在该视图控制器中未通过 10 秒,则单击按钮时,我需要显示从顶部滑动的警报视图。(我已经为其中一个实现了这种行为)

但我的问题是,我怎样才能以适当的方式为所有这些视图控制器继承这种行为?

谷歌搜索,但找不到相关的解决方案。

4

2 回答 2

3

如果您所有需要此功能的视图控制器都是 的子类UIViewController,即不是UITableViewController或另一个子类UIViewController,您可以创建一个子类UIViewController,比如说ButtonClickAlertViewController(或任何有意义的)实现您需要复制的功能。然后让所有需要此功能的类子类化您的 ButtonClickAlertViewController类而不是UIViewController.

您可能需要考虑此特定功能如何集成到每个单独的视图控制器类中。例如,您可能需要在您的ButtonClickAlertViewController类中使用一个方法来指示按钮已被单击,以检查您的计时器并可能显示警报。在您的每个子类中ButtonClickAlertViewController,您可能需要在IBAction按钮单击操作调用的每个方法中调用此方法。

于 2013-03-10T10:12:58.790 回答
0

子类UIViewController化并为所有视图控制器添加您想要的行为,然后从 viewController 子类化您现有的视图控制器并使用所需的行为。

继承链:

UIViewController -> ViewControllerWithBehaviorForAll -> YouExistingViewlContollersWhichNeedTheBehavior

于 2013-03-10T10:11:30.717 回答