我有一个视图,里面有几个文本框。我使用UIPopoverController来展示这个观点。
波波夫运转得很好。但是,当我点击文本框时,键盘就不会出现。我编程地将一个文本字段设置为firstResponder
,它运行得很好。但我希望用户能够点击任何文本字段,并输入他们想要的信息。
启动弹出控制器的代码是:
UIStoryboard *storyBoard = [self storyboard];
GeneralPickerViewController *picker = [storyBoard instantiateViewControllerWithIdentifier:@"GeneralPicker"];
[picker setDelegate:self];
[picker setPickerMode:@"NewParty"];
_popover = [[UIPopoverController alloc] initWithContentViewController:picker];
[_popover setDelegate:self];
[_popover setPopoverContentSize:CGSizeMake(286, 268)];
[_popover presentPopoverFromBarButtonItem:_createNewEntityButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
我已经将textfield的委托设置为GeneralPickerViewController类,因为文本字段位于GeneralPickerVC的视图中。
请让我知道为什么会发生这种事。
发布于 2013-11-12 04:35:15
假设文本字段已启用和可编辑..。
UITextField的默认行为是在被点击时成为第一个响应者。实现这一目标不需要委托方法。视图是否显示在UIPopoverController中也不重要。因此,基本上所期望的行为(如问题中所述)应该是默认行为。
我以前见过这样的问题,这是由文本视图框架造成的,其中(部分)超出了superview的框架(因此视图外的区域没有响应触摸)。这可能是由无效的自动调整掩码(或约束)造成的。当显示在弹出控制器中时,视图将被调整大小。
https://stackoverflow.com/questions/19928524
复制