2
我有一個透明的UIView,幾乎覆蓋整個屏幕。我在頂部留下了50個像素。它是View Controller觀點的一個孩子。無論是直接還是間接,底層視圖如何知道其矩形是否被觸摸?
在UIView下有MyView繼承UIView,它與屏幕大小相匹配。而這個MyView的類中,我問一個觸摸就可以非常簡單,這一點:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch view] == self) {
NSLog(@"MyView touched");
}
}
現在有趣的事情,當然,如果用戶觸摸透明的UIView它涵蓋了MyView的,我不在控制檯中不會觸及「MyView」。但是,當用戶觸摸屏幕頂部MyView的未覆蓋區域時,觸摸就會到達那裏。
這對我來說是合乎邏輯的,因爲我要求[touch view] == self
。但是如果我想知道MyView的矩形區域被觸摸了(不管是間接的還是直接的)呢?
有沒有辦法捕捉出現在屏幕/窗口上的任何觸摸,然後檢查它是否與視圖的矩形區域相匹配?
完美!謝謝(你的)信息 :) – Thanks 2009-07-20 15:26:49