如何将IBAction方法连接到普通视图以进行修饰事件?

Tha*_*nks 4 iphone interface-builder

我在Xcode中创建了一个基于视图的空白新应用程序项目.它为它生成了一个myProjectViewController和一个nib.在该视图控制器的那个nib中,只有一个视图.我想测试一些事件处理的东西并创建一个 - (IBAction)方法,当我触摸视图时它只会记录一个"hello world".但出于某种原因,IB并没有给我机会来联系这个行动.我在那里做错了什么?我还尝试将UIView作为子视图放在那里.当我从那里拖到File的所有者(whoose类是myProjectViewController,我在标题中有IBAction)时,甚至没有提到IBAction.但它实际应该,对吧?

Nis*_*ant 12

有一种简单的方法可以实现这一目标.转到类的"接口"构建器>>选择要将操作添加到>>的视图,然后将其自定义类从IDENTITY INSPECTOR从UIView更改为"UIControl".现在你可以在这个视图中添加任何IBAction方法.

将类更改为UIControl

将IBAction事件添加到此视图以执行操作方法

  • 这是板上最简单的答案,它的作用就像一个魅力。应该在最上面!谢谢! (2认同)

Jon*_*ess 6

IBAction只是您添加到方法声明的标记,该声明将该方法标识为连接到控件操作的候选方法.

IBAction方法是接收某些其他控件的动作消息的方法.

UIViews不发送任何动作.UIControls.所以没有什么可以从简单的UIView到你的对象.您只能将IBActions连接到UIControl子类和UIBarButtonItems.


los*_*sit 3

为此,我们有touchesBegan、touchesMoved 和touchesEnded 方法。