2014-01-19 52 views
0

假設我有一個事件處理程序,處理點擊事件:獲取UIGestureRecognizer事件處理程序內的指針事件目標

-(void) handleOptionTapFrom: (UITapGestureRecognizer*) recognizer 
{ 
    if (recognizer.state == UIGestureRecognizerStateEnded) 
    { 
     UIView* target = recognizer.view; 
    } 
} 

我能得到一個指針是通過view財產拍了拍UIView對象的UITapGestureRecognizer實例。問題是我只能通過基類UIView指針訪問它。如果目標是一個子類,如UILabel,我如何通過一個子類指針,這樣我可以做具體事情標籤訪問視圖(例如像更改文本顏色或什麼的。)

如果我知道UIView實例肯定是IS AUILabel

+1

是,如果你肯定知道只投的觀點是一些特定的子類。 – rmaddy

回答

2

,如果你確信的看法是UILabel類用途:

UILabel* target = (UILabel *)recognizer.view; 

,如果你不知道比你可以檢查它

if ([recognizer.view isKindOfClass:[UILabel class]]) { 
    UILabel* target = (UILabel *)recognizer.view; 
}