2012-06-20 48 views
8

我有一個實現則hitTest一個自定義的UIView:withEvent:方法則hitTest:withEvent:方法的UIEvent allTouches是空

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    .... some code .... 

    int x = 0; 
    x= [[event allTouches] count]; 
    return [super hitTest:point withEvent:event]; 
} 

的問題是,X始終是0。我必須執行其他API或配置的UIView啓動得到觸動?

我只需要它來區分觸摸開始/移動和結束。

由於 賈米爾

+0

什麼顯示'NSLog(@「Event:%@」,事件);'? –

+0

事件:時間戳:0觸摸:{( )} 事件:時間戳:0觸摸:{( )} 事件:時間戳:248999點的觸摸:{ ( )} – Jamil

+0

@PhillipMills hitTest被調用三次,並且日誌高於 – Jamil

回答

-3

嘗試此

yourView.userInteractionEnabled = YES; 

IOS提供抵消在視圖中的層次結構的用戶交互的可能性。據說在iOS上的事件鏈中,可以忽略視圖堆棧中最直接的視圖中的觸摸事件,然後層次結構中的下一個視圖將嘗試承擔責任來響應交互。

正如前面所說的,可能會發生應響應用戶交互的視圖設置爲NO,因此層次結構中的下一個視圖將響應該事件。這可能是它不適合你的原因。

+0

爲什麼?他爲什麼要嘗試這個?編輯您的答案,以提供更多信息。 – CodaFi

+0

完成,希望對此更加清楚 – artud2000

相關問題