相关疑难解决方法(0)

当键盘出现时 - 如何开始编辑时,如何让UITextField向上移动?

使用iOS SDK:

我有一个UIView带有UITextField键盘的s.我需要它能够:

  1. UIScrollView一旦键盘出现,允许滚动内容以查看其他文本字段

  2. 自动"跳跃"(通过向上滚动)或缩短

我知道我需要一个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)

但是,这不会自动"向上移动"或将可见区域中的下部文本字段居中,这是我真正想要的.

objective-c uiscrollview uitextfield uikeyboard ios

1674
推荐指数
39
解决办法
61万
查看次数

在实现tableview委托和数据源方法的UIViewController上使用UITableViewController有什么好处吗?

Xcode我创建一个包含tableview的新视图控制器时,我有两个选项

  1. 创建一个新的 UITableViewController
  2. 创建一个UIViewController实现UITableViewDelegateUITableViewDataSource协议的新方法

假设我正确地实现了协议的所有必需和可选方法,是否有任何优势(除了不必编写方法存根)使用UITableViewController?意味着,是否有任何内容(内存管理,缓存等)在UITableViewController类中的幕后实现,使选项1成为比选项2更好的选择?

uitableview ios

23
推荐指数
3
解决办法
6202
查看次数

当键盘快速显示时移动按钮

在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)

swift

4
推荐指数
2
解决办法
5981
查看次数