gpt4 book ai didi

ios - 在 NotificationCenter 键盘上获取发件人将显示

转载 作者:行者123 更新时间:2023-11-28 12:32:27 25 4
gpt4 key购买 nike

我目前正在开发一款在一个 ScrollView 中包含多个文本字段和 2 个 TextView 的应用。在键盘外观上,我已经能够更改 ScrollView 的内容插入,以便不隐藏字段。我遇到的问题是我只能让它在一个硬编码字段上工作。我必须选择一个并为其设置动画。有没有办法在 keyboardWillShow 上获取发件人字段或 TextView ?目前,我正在使用它并且一切正常,除了如上所述我必须选择一个字段 detailsTxtView 并为其设置动画。有帮助吗?

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(notification:)),name: NSNotification.Name.UIKeyboardWillShow, object: nil)

func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
let contentInsets: UIEdgeInsets? = UIEdgeInsetsMake(0.0, 0.0, keyboardSize.height, 0.0)
scrollView.contentInset = contentInsets!
scrollView.scrollIndicatorInsets = contentInsets!
let goto = CGPoint(x: CGFloat(0.0), y: CGFloat(detailsTxtView.frame.origin.y + (keyboardSize.height + 40)))
scrollView.setContentOffset(goto, animated: true)
}

}

最佳答案

在 iOS 中,您可以使用 UIResponder.isFirstResponder 找出谁拥有键盘焦点(注意所有 UIViews 都继承自 UIResponder,因此它是每个 View 的一个属性)。只需检查哪个字段有 isFirstResponder = true 并滚动到那个字段。如果您有很多字段,那么将所有字段放入一个 outlet 集合中很有用,这样您就可以遍历它们并找出哪个是 FirstResponder。

关于ios - 在 NotificationCenter 键盘上获取发件人将显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com