超出父檢視的子檢視如何響應點選事件
重寫父檢視的hitTest方法
#import "RedView.h"
@interface RedView()
@property (nonatomic, strong) UIButton *greenView;
@end
@implementation RedView
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
self.greenView = [[UIButton alloc] initWithFrame:CGRectMake(75, -25, 50, 50)];
self.greenView.backgroundColor = [UIColor greenColor];
[self.greenView addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.greenView];
}
return self;
}
- (void)click {
NSLog(@"click!!");
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *view = [super hitTest:point withEvent:event];
if (view == nil) {
CGPoint temPoint = [self.greenView convertPoint:point fromView:self];
if (CGRectContainsPoint(self.greenView.bounds, temPoint)) {
view = self.greenView;
}
}
return view;
}
@end
相關文章
- [Android]關於Android子view超出父view無法響應點選事件AndroidView事件
- iOS探索:UI檢視之事件傳遞&檢視響應iOSUI事件
- iOS專案開發實戰——UIView的子檢視和父檢視iOSUIView
- MY_ iOS 按鈕超過父檢視範圍無法響應事件的處理方法iOS事件
- [Django REST framework - 檢視元件之檢視基類、檢視擴充套件類、檢視子類、檢視集]DjangoRESTFramework元件套件
- curl命令檢視響應時間
- 在列印視窗,列印檢視View的子檢視結構圖View
- Xamarin XAML語言教程ContentView檢視作為自定義檢視的父類View
- git常用命令點選檢視Git
- drf : 通用檢視類和(GenericAPIView)5個檢視擴充套件類,九個檢視子類,檢視集。APIView套件
- 微信小程式-檢視事件微信小程式事件
- Windows事件檢視器(收集)Windows事件
- Oracle 等待事件V$檢視Oracle事件
- Linux中如何檢視日誌命令中的響應狀態?Linux
- iOS10 UI教程檢視和子檢視的可見性iOSUI
- jQuery在子視窗如何操作父視窗元素jQuery
- 【MySQL】檢視&子查詢MySql
- win10系統怎麼利用事件檢視器檢視最近的事件活動Win10事件
- 檢視insert,delete,update對基表的影響(檢視初識)delete
- 11 UML中的邏輯檢視、程序檢視、實現檢視、部署檢視
- MySQL資料庫檢視:檢視定義、建立檢視、修改檢視MySql資料庫
- Linux系統中什麼是父目錄?如何檢視父目錄?Linux
- js如何在子視窗中關閉父視窗JS
- 事件檢視器事件ID部分說明事件
- 如何檢視失效的物件物件
- 檢視oracle rac的節點Oracle
- 七個子類檢視 LL
- 選擇使用通用檢視(Generic Views)或檢視集(ViewSets)View
- 檢視歷史會話等待事件對應的session資訊會話事件Session
- ASP.NET Core 5.0 MVC中的檢視分類——佈局檢視、啟動檢視、具體檢視、分部檢視ASP.NETMVC
- [譯] 通過檢視控制器容器和子檢視控制器避免龐大的檢視控制器
- 用mysqlbinlog檢視row格式的事件MySql事件
- mongodb 如何檢視索引MongoDB索引
- HTTP的請求與響應以及使用Chrome的檢視方式HTTPChrome
- 短視訊app原始碼,點選檢視圖片,雙指放大APP原始碼
- win10如何檢視版本_win10檢視版本的方法Win10
- w10系統怎麼使用事件檢視器 w10電腦事件檢視器檢查磁碟的方法事件
- 使用treedump事件檢視索引結構事件索引