2013-10-31 31 views
0

我有這個grayView,禁用控制器,並使它看起來不活躍禮貌我以前問的問題,但我需要檢測如果grayView被觸摸,如果它碰觸擺脫grayView。如果有人能幫我找出解決方案,我會深表感謝。我嘗試使用UITouchedBegan和許多其他的stackoverflow解決方案,但每個都沒有工作。任何幫助將不勝感激。我需要檢測某個視圖上的觸摸

grayViewUIView

-(void)ViewDidLoad 
{ 
    grayView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    grayView.backgroundColor = [UIColor colorWithWhite:0.5 alpha:0.5]; 
    [self.navigationController.view addSubview:grayView]; 
} 

回答

1

您可以將UITapGestureRecognizer添加到grayView,摸的時候,從superview刪除grayView

下面是我該怎麼做。

//your gray view 
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(removeGrayView:)]; 
tap.numberOfTapsRequired = 1; 
[_yourGrayView addGestureRecognizer:tap]; 

請確保您添加此代碼添加grayViewsuperView

在此之前,

-(void) removeGrayView: (UITapGestureRecognizer) gesture { 
    [_yourGrayView removeFromSuperView]; 
}