2012-12-02 41 views
2

我已经使用IB向现有的iPad应用程序添加了UIToolBar。然后使用IB将它连接到视图控制器,并验证连接是否存在。但是,当我单击按钮时,视图控制器中的相应代码不会执行。UIToolBar BarButtonItem IBAction不起作用

我打开了一个空的项目,并按照相同的过程,并且一切按预期工作。

我很好奇,如果有什么可以在我现有的项目是阻止正在执行的IBAction为代码不同的任何想法?

我正在使用XCode 4.5.2和iOS 6.0(模拟器)进行开发。

任何想法都很赞赏,因为我真的很困惑!

+1

我一样的问题。事实证明,我在包含工具栏和barbutton项目的视图中使用了UITapGestureRecognizer。 UITapGestureRecognizer(单击)与BarButtomItem操作冲突。它看起来工具栏支持gestureRecognizers,这导致行动无法正常工作。不知道这是否是你的问题,但它纠正了我的问题。 – casillic

回答

3

正如评论中提到的那样,我遇到了这个问题,这是由于UITapGestureRecognizer我用它来监听用户点击背景的时候,所以如果用户正在编辑字段,我可以关闭键盘。

UITapGestureRecognizer与工具栏冲突,并导致代码不被执行时,选择了一个工具栏项目 - 而是(在我的情况下)它运行我的监听器中的“解除键盘”代码为选项卡手势。

要解决这个问题,我说我的手势识别器为文本输入,而不是主要包含视图住房UIScrollView的。

如:

更换此:

[self.view addGestureRecognizer:tap]; 

与此:

[scrollView addGestureRecognizer:tap]; 

(滚动视图被安装成一个IBOutlet的UIScrollView的我的故事板)