我有一个包含3个容器视图的视图控制器。在其中一个容器视图中,有一个文本字段,点击键盘应该隐藏在其中。我需要知道在视图控制器上检测到触摸时如何隐藏键盘。请注意,当我点击容器视图时,不会在parentViewController上调用“touchesBegan”方法。
答案 0 :(得分:0)
在视图控制器上实现touchesBegan。从那里调用视图控制器视图上的endEditing:
- (void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *)event
{
[self.view endEditing: YES];
}
答案 1 :(得分:0)
您可以使用UITapGesture。
你的viewcontroller的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];
}
答案 2 :(得分:-1)
将viewController的UIView和其他容器UIViews更改为UIButton,然后使用以下代码将它们绑定到按钮的触摸事件之一到IBAction:
-(IBAction)press:(id)sender
{
[yourTextField resignFirstResponder];
}