子View不響應touch事件,讓父View響應touch事件
阿新 • • 發佈:2019-02-05
在工作中遇到一個button上有一個uiImageview控制元件,但是功能要求,點選圖片的時候,和button執行相同的功能
首先想到方法是 button上addTarget,然後在uiImageview上加一個手勢,同時指向同一個方法,太傻逼
經過查資料,發現,直接將uiImageview物件的userInteractionEnabled屬性,直接設定為NO,則touch事件就直接傳到父View
<span style="font-size:18px;"> UIButton *btn = [[UIButton alloc]init]; [btn setFrame:CGRectMake(40 , 40 , 200, 40)]; btn.layer.borderWidth = 2; [viewParent addSubview:btn]; [btn addTarget:self action:@selector(hello:) forControlEvents:UIControlEventTouchUpInside]; UIView *subView = [[UIView alloc]init]; [subView setFrame:CGRectMake(0, 0, 20, 20)]; subView.layer.borderWidth = 2; subView.userInteractionEnabled = NO; [btn addSubview:subView];</span>
類似這樣,當你點選subview的時候,就可以執行hello:方法