0

我有一个具有 3 个容器视图的视图控制器。在其中一个容器视图中,有一个文本字段,点击它应该隐藏键盘。当在视图控制器上检测到触摸时,我需要知道如何隐藏键盘。请注意,当我点击容器视图时,不会在 parentViewController 上调用“touchesBegan”方法。

4

3 回答 3

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];
}
于 2013-06-21T17:38:22.617 回答
0

在您的视图控制器上实现 touchesBegan。从那里调用视图控制器视图上的 endEditing:

- (void) touchesBegan: (NSSet *) touches withEvent:(UIEvent *)event 
{
     [self.view endEditing: YES];
}
于 2013-06-21T17:23:39.563 回答
-1

将 viewController 的 UIView 和其他容器 UIView 更改为 UIButton,然后使用以下代码将它们绑定到按钮的触摸事件之一到 IBAction:

-(IBAction)press:(id)sender
{
   [yourTextField resignFirstResponder];
}
于 2013-06-21T14:00:19.083 回答