使用iOS SDK:
我有一台UIView
,上面有UITextField
,可以弹出一个键盘.我需要它能够:
-
打开键盘后,允许滚动
UIScrollView
的内容以查看其他文本字段 -
自动"跳转"(通过向上滚动)或缩短
我知道我需要UIScrollView
分.我试着把我的UIView
级改成UIScrollView
级,但还是不能上下滚动文本框.
我需要UIView
分和UIScrollView
分吗?其中一个会进入另一个吗?
要自动滚动到活动文本字段,需要实现哪些操作?
理想情况下,尽可能多的组件设置将在Interface Builder中完成.我只想为需要的东西编写代码.
注意:我正在使用的UIView
(或UIScrollView
)是由一个tabbar(UITabBar
)打开的,它需要正常工作.
我只是在键盘出现时添加滚动条.尽管不需要它,但我觉得它提供了一个更好的界面,因为这样用户就可以滚动和更改文本框,例如.
我已经让它工作了,当键盘上下移动时,我改变了UIScrollView
的帧大小.我只是在使用:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.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 hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); // Resize
}
然而,这并不会自动"上移"或使可见区域中较低的文本字段居中,这正是我真正想要的.