Nếu chế độ xem bạn muốn chuyển tiếp các điểm chạm không xảy ra là một khung nhìn phụ / giám sát, bạn có thể thiết lập một thuộc tính tùy chỉnh trong lớp con UIView của mình như vậy:
@interface SomeViewSubclass : UIView {
id forwardableTouchee;
}
@property (retain) id forwardableTouchee;
Đảm bảo tổng hợp nó trong .m của bạn:
@synthesize forwardableTouchee;
Và sau đó bao gồm các mục sau trong bất kỳ phương pháp UIResponder nào của bạn, chẳng hạn như:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.forwardableTouchee touchesBegan:touches withEvent:event];
}
Bất cứ khi nào bạn khởi tạo UIView của mình, hãy đặt thuộc tính ForwardableTouchee thành bất kỳ chế độ xem nào bạn muốn các sự kiện được chuyển tiếp tới:
SomeViewSubclass *view = [[[SomeViewSubclass alloc] initWithFrame:someRect] autorelease];
view.forwardableTouchee = someOtherView;