移动视图,以便键盘不隐藏文本字段

san*_*ndy 4 keyboard cocoa-touch ios uitextfielddelegate

在我的应用程序中,当我单击文本字段时,键盘会隐藏它.请帮助我 - 当我点击文本字段时,如何移动我的视图.我正在使用此代码textFieldDidBeginEditing:

self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 216, 0);
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 216, 0);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Pey*_*loW 13

您不应该相信textFieldDidBeginEditing:调整键盘,因为即使用户使用不显示屏幕键盘的物理键盘进行键入,也会调用此方法.

而是听取UIKeyboardWillShowNotification,只有在实际显示键盘时才会触发.您需要执行三个步骤:

  1. 从通知userInfo字典中确定键盘的实际大小.尺寸将不同于横向/纵向和不同的设备.
  2. contentInset使用确定的大小更新.你可以动画制作,通知甚至可以告诉你键盘动画的持续时间.
  3. 将文本域滚动到视图中,很容易忘记这一点!

您可以从此处找到更多信息和示例代码