用IB(interface builder)添加 UIGestureRecognizer的步骤

来源:互联网 发布:阴阳师 网络错误 安卓 编辑:程序博客网 时间:2024/05/17 23:49

很多搞ios开发的朋友习惯在代码里完成所有工作,而且各自都有这样做的理由,但是我觉得IB也是有存在的道理的,他能使我们的代码简洁,当然你必须还得花时间熟悉IB的使用方法,这个也许会让人纠结。

项目中要用到手势,先前是在代码里直接做的,今天想尝试一下用IB来做,google了一下,搜出不多几条有用的信息,参照着弄了一下最后搞出来了,现在写这个的目的就是再梳理一下,顺便也是熟悉一下IB,因为也是刚刚接触ios,很多反复的熟悉也是必要的,如果能对其他朋友有帮助那就更好了。技术这个东西,探索和尝试的过程是比较艰辛的,一但再回头看就觉得很简单了。下面我以我的项目为例,说一下用IB为控件添加手势的步骤。

1.拖拽一个UIImageView和一个Tap Gesture Recognizer到根View里;效果如下图,里面的输入框是我项目里用到的,和咱们今天要说的没关系,忽略它好了。


2.在.h文件里定义UIImageView 和UITapGestureRecognizer并和IB里相应的控件关联起来;关联就是拖拽了,语言也不是很好描述,gif图最擅长这个,如果刚接触IB的朋友,多胡乱拖拽几次 慢慢会有体会的 。

代码:

IBOutletUIImageView* avatar;

IBOutletUITapGestureRecognizer* tapRecognizer; 

关联后IB里基本上是下面这个样子,其他控件不用管,我们只关心avatar和tapRecognizer


3.但是这时候 UIImageView和UITapGestureRecognizer还没有建立起关系,我们直接拖拽左侧的UITapGestureRecognizer到右边的UIImageView。

完毕后右击UITapGestureRecognizer发现Referencing Outlet Collections 和ImageView建立起了连接。如下图


4.这时候,需要我们在代码文件里定义tap后的响应函数

-(IBAction)tapAvatar:(id)sender;

然后在IB里右击File‘s Owner 我们看到刚才添加的tapAvatar列在了最下面(Received Actions里)


5.选中tapAvatar拉到左侧的Tap Gesture Recognizer建立连接,如下图


这样用IB添加一个手势的步骤完成了,运行一下代码 点击这个UIImageView就会执行-(IBAction)tapAvatar:(id)sender了。写了这些不知道是否准确的说明白了这个问题,希望这个东西对需要的人有所帮助。

原创粉丝点击