2013-06-21 122 views
0

我有一個視圖控制器有3個容器視圖。在其中一個容器視圖中,有一個文本字段,點擊鍵盤應隱藏的位置。當在視圖控制器上檢測到觸摸時,我需要知道如何隱藏鍵盤。請注意,當我點擊一個容器視圖時,「touchesBegan」方法不會在parentViewController上調用。iOS - 視圖控制器與容器視圖 - 隱藏鍵盤

+0

要隱藏,當你點擊屏幕的文本框外的keyboaed? – meda

回答

-1

更改的viewController的的UIView和其他容器UIViews到的UIButton,然後將它們綁定到按鈕的觸摸事件之一的IBAction爲用下面的代碼:

-(IBAction)press:(id)sender 
{ 
    [yourTextField resignFirstResponder]; 
} 
+0

號。就像我在問題中提到的那樣,該屏幕中有三個容器視圖,即使用戶單擊屏幕上的任何容器視圖,我也希望這能夠工作。 – NSFeaster

+0

也將您的容器視圖更改爲按鈕,並將它們全部綁定到該函數,即使您以編程方式添加容器,您可以將它們定義爲UIButton並將它們綁定到它們功能 –

+0

什麼是kludgey解決方案。 –

0

您的視圖控制器上實現的touchesBegan。從那裏調用endEditing視圖控制器的視圖:

- (void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *)event 
{ 
    [self.view endEditing: YES]; 
} 
0

您可以使用UITapGesture。

在視圖控制器的viewDidLoad寫這

UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
singleTap.numberOfTapsRequired = 1; 
singleTap.numberOfTouchesRequired = 1; 
[self.view addGestureRecognizer: singleTap]; 

,並在其處理方法

-(void)handleSingleTap :(UIGestureRecognizer*)ges 
{ 
[yourtextField resignFirstResponder]; 
}