我已经使用 IB 向现有的 iPad 应用程序添加了 UIToolBar。然后我用 IB 将它连接到 View Controller 并验证连接是否存在。但是,当我点击按钮时, View Controller 中的相应代码并没有被执行。
我打开了一个空项目并按照相同的程序进行操作,一切都按预期进行。
我很好奇是否有任何想法可以说明我现有项目中阻止 IBAction 代码执行的不同之处?
我正在使用 XCode 4.5.2 和 iOS 6.0(模拟器)进行开发。
感谢任何想法,因为我真的很困惑!
正如评论中提到的 casillic,由于 UITapGestureRecognizer,我遇到了这个问题,当用户点击背景时,我使用它来监听,因此如果用户正在编辑字段,我可以关闭键盘。
UITapGestureRecognizer 与工具栏冲突并导致代码在选择工具栏项时不执行 - 相反(在我的情况下)它运行我在我的监听器中为选项卡手势提供的“关闭键盘”代码。
为了解决这个问题,我将手势识别器添加到 UIScrollView 的外壳中以用于文本输入,而不是主包含 View 。
例如:
替换了这个:
[self.view addGestureRecognizer:tap];
用这个:
[scrollView addGestureRecognizer:tap];
(scrollView 在我的 Storyboard上被连接为 UIScrollView 的 IBOutlet)
关于ios - UIToolBar BarButtonItem IBAction 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13674765/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |