我有50个带后退按钮的视图控制器。现在我需要为项目中的所有视图控制器添加从左到右的滑动手势。当触发滑动时,我需要为各个视图控制器回调btn单击事件。向每个视图控制器添加滑动手势很困难。有没有其他方法来做到这一点,只需对视图控制器进行最小的更改。 提前谢谢。
此致 Bharath G
答案 0 :(得分:3)
那么这些其他人告诉你为什么你可能不需要这样做,但假设你这样做(不使用UINavigationController ||支持pre iOs7 ..)那么肯定最简单的方法就是添加到所有这些中一个新的UIViewController子类,在viewDidLoad或类似的东西中添加swipeRecogniser,然后修改你的50个其他控制器中的每一个,使它们都从这一个继承(即抽象超类..)
我总是在一个50左右的项目中有一个UIViewController上面的抽象超类,显然有很多代码可以共享
答案 1 :(得分:2)
创建一个YourViewController
类并在viewDidLoad方法中实现SwipeGesture方法。
在50个viewcontrollers .h文件中:
@interface ViewController : YourViewController
让所有50个viewControllers继承自YourViewController
。
答案 2 :(得分:0)
如果后退按钮可见,它应该自动工作。如果您正在显示leftBarButtonItem而不是后退按钮,则默认情况下不会显示该手势。此外,如果您使用的是UINavigationBar而不是UINavigationController,则不会看到此功能。
如果您正在使用UINavigationController并且您的视图控制器的导航项包含leftBarButtonItem,则仍然可以通过将代理附加到导航控制器的interactivePopGestureRecognizer来为导航控制器的左右手势滑动添加功能。
注意:iOS 7中引入了“向后滑动”功能(我希望您使用iOS 7或更高版本开发应用程序)