使用iOS SDK:
我有一个UIView带有UITextField键盘的s.我需要它能够:
UIScrollView一旦键盘出现,允许滚动内容以查看其他文本字段
自动"跳跃"(通过向上滚动)或缩短
我知道我需要一个UIScrollView.我已经尝试将我的类更改UIView为a UIScrollView但我仍然无法向上或向下滚动文本框.
我需要a UIView和a 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
}
Run Code Online (Sandbox Code Playgroud)
但是,这不会自动"向上移动"或将可见区域中的下部文本字段居中,这是我真正想要的.
在Xcode我创建一个包含tableview的新视图控制器时,我有两个选项
UITableViewControllerUIViewController实现UITableViewDelegate和UITableViewDataSource协议的新方法假设我正确地实现了协议的所有必需和可选方法,是否有任何优势(除了不必编写方法存根)使用UITableViewController?意味着,是否有任何内容(内存管理,缓存等)在UITableViewController类中的幕后实现,使选项1成为比选项2更好的选择?
在UIViewController中,我有几个文本字段,一个按钮位于UIViewController的底部.对于按钮,我设置了一个常量为0的底部约束.然后我从底部约束到UIViewController创建了一个出口.
当我运行我的代码时,按钮不会向上移动.我已经看到了关于stackoverflow的建议,我应该添加UIScrollView,但这意味着,我必须删除UIViewController上的所有对象,放置UIScrollView,然后再次将我的对象放在UIVIewController上.
@IBOutlet weak var bottomConstraint: NSLayoutConstraint!
// When tapping outside of the keyboard, close the keyboard down
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
// Stop Editing on Return Key Tap. textField parameter refers to any textfield within the view
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
// when keyboard is about to show assign the height of the keyboard to bottomConstraint.constant of our button so that it will move up
func keyboardWillShow(notification: …Run Code Online (Sandbox Code Playgroud)