ios开发中使用storyboard关于touch的event的响应

时间:2021-08-11 00:18:09

    第一篇博客果断写些简单无脑的东西。略水。

网上的教程大多是使用xib,实在过时,写点storyboard的东西来造福人类。(虽然自己也是一知半解


ios开发中使用storyboard关于touch的event的响应

点击某些view,(如按钮等)在storyboard里的connections inspector中有这些响应,按照官方教程的做法按住control点击右边的圆圈后拖动到代码页即可生成响应函数。如图

ios开发中使用storyboard关于touch的event的响应

注意,左边有圆圈的Action,则是与storyboard进行了链接,在对storyboard上布局的按钮等控件点击后则会跳到这些响应。

若在storyboard中删除了控件后,左边的实心圆圈将会变成空心圆圈,届时应该将这些无用的函数删除。

如果不用storyboard,使用纯代码布局,应该使用如下函数进行连接。

 [btn1 addTarget:self action:@selector(methodname:) forControlEvents:UIControlEventTouchUpInside];

上方的forControlEvents可以是第一张图里的任意一种。因为selector的存在,被连接的函数应该也是如下格式。

- (IBAction) name: (id)sender

下面对各种event进行说明:

touch down:按下按钮的一瞬间触发

touch cancel:目测按钮是不会触发这个event的

touch down repeat:双击按钮的时候触发(同时也会触发两次touch down)

touch drag enter,touch drag exit,touch drag inside,touch drag outside:

这四个比较错综复杂,当你在按下按钮不松开时,触发了touch down,之后一直不松开,拖动时会触发touch drag inside(很多次),拖出按钮范围的瞬间会触发touch drag exit,之后在按钮外部拖动会触发touch drag outside(很多次),之后再拖进按钮范围的瞬间会触发touch drag enter

drag时的按钮范围的判定比touch的要大很多,就是说,仅仅拉出按钮范围是不会触发touch drag outside的,要拉得更远才行。

touch up inside:按下按钮后,在按钮内部松开

touch up outside:按下按钮后,在按钮外部松开