2013-06-21 130 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]; 
}