【问题标题】:The keyboard hides textfield, if pickerVew's window opened如果 pickerVew 的窗口打开,键盘会隐藏文本字段
【发布时间】:2016-10-11 21:03:24
【问题描述】:

我有两个文本字段和一个图像选取器视图按钮的表格视图。

如果我写东西,我的文本字段会增加,没关系。

但是,如果我从 imagePicker 视图中选择照片并尝试写一些东西,我看不到我的文本字段。请帮忙。

【问题讨论】:

  • 您使用什么代码来向上滑动文本字段的滚动条?
  • 您好,@MatthewSeaman,感谢您的评论。我不使用任何代码来执行此操作。
  • 所以你只有一个UIScrollView,当键盘出现时,滚动视图会自动向上滚动而不你做任何事情?从图像选择器中选择图像后立即除外?
  • @MatthewSeaman,正确,当我从 imagePicker 中选择某些内容并尝试使用我的文本字段时,我的 UIScrollView 不会移动。
  • 检查 uiscrollview 的委托方法。它有方法可以帮助解决这个问题。

标签: ios xcode swift keyboard textfield


【解决方案1】:
    override func viewDidLoad() {
    super.viewDidLoad()
    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardDidShowNotification, object: nil)
    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardDidHideNotification, object: nil)
}


deinit {
    NSNotificationCenter.defaultCenter().removeObserver(self)
}

func keyboardWillShow(notification: NSNotification) {
    if let userInfo = notification.userInfo {
        if let keyboardHeight = userInfo[UIKeyboardFrameEndUserInfoKey]?.CGRectValue.size.height {
            tableView.contentInset = UIEdgeInsetsMake(0, 0, keyboardHeight, 0)
        }
    }
}

func keyboardWillHide(notification: NSNotification) {
    if let userInfo = notification.userInfo {
            tableView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-18
    • 2011-01-19
    • 1970-01-01
    • 2018-12-22
    • 2021-05-07
    • 2021-05-20
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多