UIresponder:響應(yīng)者(傳達(dá)者) 用來響應(yīng)用戶觸摸屏幕的某些事件
標(biāo)簽:? UILabel
按鈕:? ?UIButton
文本框:? ?UITextField
滾動(dòng)視圖:? UIScrollView
視圖控制器:?UIViewController
根視圖:? ? RootViewController
分欄控制器:? UITabBarController
放圖片的視圖:? ?UIImageView
聯(lián)系人通訊錄:? ? ?UITableView
通訊錄一行的視圖?:UITableViewCell
滑動(dòng)點(diǎn)點(diǎn)點(diǎn)點(diǎn):? ? ?UIPageControl
用戶的默認(rèn)信息:? ? ? NSUserDefaults
手勢(shì)分為六大手勢(shì):
? ?六大手勢(shì)全部都繼承自UIGestureRecognizer
1、點(diǎn)擊UITapGestureRecognizer
2、長(zhǎng)按UILongPressGestureRecognizer
3泳唠、拖拽UIPanGestureRecognizer
4、捏合UIPinchGestureRecognizer
5渠羞、輕掃UISwipeGestureRecognizer
6契吉、旋轉(zhuǎn)UIRotationGestureRecognizer
初始化手勢(shì)
UITapGestureRecognizer*tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(actionOfTap:)];
設(shè)置點(diǎn)擊手勢(shì)的點(diǎn)擊次數(shù)
tap.numberOfTapsRequired = 2;
設(shè)置點(diǎn)擊手指的個(gè)數(shù)
tap.numberOfTouchesRequired = 2;
添加到視圖是addGestureRecognizer: 而不是 addsubview:
[xx視圖 addGestureRecognizer:xx手勢(shì)];
minimumPressDuration設(shè)置長(zhǎng)按的時(shí)間(多長(zhǎng)時(shí)間才會(huì)調(diào)用長(zhǎng)按觸發(fā)事件)
1.手指開始觸摸屏幕調(diào)用方法:- (void)touchesBegan:(NSSet *)touches withEvent:(nullable UIEvent *)event;
2.手指離開屏幕調(diào)用方法:- (void)touchesEnded:(NSSet *)touches withEvent:(nullable UIEvent *)event;
3.手指因外部事件取消觸摸調(diào)用方法:- (void)touchesCancelled:(nullable NSSet *)touches withEvent:(nullable UIEvent *)event;
程序走的流程:用戶點(diǎn)擊屏幕觸發(fā)->所有視圖都繼承UIResponder->UITuchBegin moved end
UITuchBegin moved end
獲得點(diǎn)擊視圖的位置
CGPoint point = [xx手勢(shì)locationInView:xx視圖];
???如果發(fā)現(xiàn)手勢(shì)不調(diào)用.檢查一下看是不是設(shè)置了背景顏色