最佳答案
使用iOSSDK:
我有一个带有UITextField
的UIView
,可以弹出一个键盘。我需要它能够:
键盘打开后,允许滚动UIScrollView
的内容以查看其他文本字段
自动“跳转”(向上滚动)或缩短
我知道我需要一个UIScrollView
。我尝试将UIView
的类更改为UIScrollView
,但我仍然无法向上或向下滚动文本框。
我需要UIView
和UIScrollView
吗?一个在另一个里面吗?
为了自动滚动到活动文本字段,需要实现什么?
理想情况下,尽可能多的组件设置将在Interface Builder中完成。我只想为需要它的内容编写代码。
注意:我正在使用的UIView
(或UIScrollView
)是由选项卡(UITabBar
)调出的,它需要正常工作。
我只是在键盘出现时添加滚动条。即使不需要,我觉得它提供了更好的界面,因为这样用户就可以滚动和更改文本框,例如。
当键盘向上和向下时,我改变了UIScrollView
的框架大小。我只是使用:
-(void)textFieldDidBeginEditing:(UITextField *)textField {//Keyboard becomes visiblescrollView.frame = CGRectMake(scrollView.frame.origin.x,scrollView.frame.origin.y,scrollView.frame.size.width,scrollView.frame.size.height - 215 + 50); // Resize}
-(void)textFieldDidEndEditing:(UITextField *)textField {// Keyboard will hidescrollView.frame = CGRectMake(scrollView.frame.origin.x,scrollView.frame.origin.y,scrollView.frame.size.width,scrollView.frame.size.height + 215 - 50); // Resize}
但是,这不会自动“向上移动”或在可见区域中置较低的文本字段,这是我真正想要的。