使用iOS SDK:
我有一个带有UITextField
的UIView
,这些文本框会弹出键盘。 我需要它能够:
在键盘弹出后允许滚动
UIScrollView
的内容以查看其他文本框自动“跳跃”(通过向上滚动)或缩短
我知道我需要一个UIScrollView
。 我尝试将我的UIView
的类更改为UIScrollView
,但仍然无法滚动文本框。
我需要同时使用UIView
和UIScrollView
吗? 它们是否应该嵌套在一起?
为了自动滚动到活动文本字段,需要实现什么?
理想情况下,尽可能多的组件设置将在接口构建器中完成。 我只想编写必要的代码。
注意:我正在使用选项卡(UITabBar
)打开工作的UIView
(或UIScrollView
),它需要像平常一样运行。
我添加滚动条,只是为了在键盘弹出时使用。即使不需要,我觉得它提供了更好的界面,因为用户可以滚动并更改文本框等内容。
当键盘上下移动时,我已经让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
}
然而,这并不会自动将下方的文本字段“上移”或置于可见区域的中央,而这正是我真正想要的。