gpt4 book ai didi

ios - 有没有办法让 "force"键盘以编程方式在 iOS Swift 中关闭?

转载 作者:行者123 更新时间:2023-11-28 14:48:36 25 4
gpt4 key购买 nike

我有一个 viewController EditMessage,它有两个使用键盘的 UITextFields (UITextView),它们工作得很好。这部分是基本标准的东西。当显示键盘时,我为整个 view 注册了一个tag gesture,这样如果用户点击其他任何地方,我就会关闭键盘:

 self.view.addGestureRecognizer(UITapGestureRecognizer(target: self,
action: #selector(dismissKeyboard)))

在 dismissKeyboard 中,一切正常:

@objc func dismissKeyboard(sender: Any) {
self.view.endEditing(true)
}

但是,我在同一个 EditMessage View 上有一个菜单按钮(缩略图)作为 subview Controller (UIViewController)实现,它通过 UIApplication.shared.keyWindow( ) 在屏幕底部显示叠加层和菜单。使用 Brian Voong 的 YouTube channel 的模型/代码构建,从底部复制 YouTube 风格的菜单幻灯片。但是,键盘挡住了。由于 child 是不同的 View Controller ,“endEditing” 不起作用(或者我可能引用了错误的 View ?)。

class ButtonPickerController : UIViewController, 
UIGestureRecognizerDelegate, UINavigationControllerDelegate {

var maxSize = CGFloat(60)

let thumbnail: UIImageView = {
let thumbnail = UIImageView()
thumbnail.backgroundColor = UIColor.lightGray
return thumbnail
}()

override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(self.buttonTapped(sender:)))
tap.delegate = self
view.addGestureRecognizer(tap)
//view.backgroundColor = .yellow
view.contentMode = .scaleAspectFit
thumbnail.frame = CGRect(x: 0, y: 0, width: self.maxSize, height: self.maxSize)
setupSubviews()
}

有人能给我指出一个好的方向吗?这是我的第一个问题,所以希望我问得正确。

最佳答案

我终于明白了。感谢您的帮助。在我的 subview Controller 中,我确实在点击按钮时使用了以下语句:

@objc func buttonTapped(sender: UITapGestureRecognizer? = nil) {
self.parent!.view.endEditing(true)
}

关于ios - 有没有办法让 "force"键盘以编程方式在 iOS Swift 中关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50062083/

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