0

我有一个包含几个文本字段的视图。我正在使用 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];

我已将文本字段的委托设置为 GeneralPickerViewController 类,因为文本字段位于 GeneralPickerVC 的视图中。

请让我知道为什么一定会发生这种情况。

4

1 回答 1

1

假设文本字段已启用且可编辑...

UITextField 的默认行为是在被点击时成为第一响应者。不需要委托方法来实现这一点。视图是否显示在 UIPopoverController 中也无关紧要。所以基本上所需的行为(如问题中所述)应该是默认行为。

我以前见过这样的问题,这是由 textview 框架引起的,它(部分)在 superview 的框架之外(因此视图之外的区域没有响应触摸)。这可能是由无效的自动调整掩码(或约束)引起的。视图将在弹出控制器中显示时调整大小。

于 2013-11-12T12:35:15.920 回答