1. 程式人生 > >子View不響應touch事件,讓父View響應touch事件

子View不響應touch事件,讓父View響應touch事件

在工作中遇到一個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:方法