![](/img/trans.png)
[英]iPhone X how to handle View Controller inputAccessoryView?
[英]How can I show the inputAccessoryView in this view controller
我調用的控制器中有一個函數
private func toggleLauncher() {
let launcher = CommentsLauncher()
launcher.showLauncher()
}
這實質上是在當前視圖之上添加一個視圖,並帶有半透明的背景。
然后,我想在新添加的視圖的底部呈現一個自定義的inputAccessoryView
。
class CommentsLauncher: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor(white: 0, alpha: 0.5)
}
func showLauncher() {
if let window = UIApplication.shared.keyWindow {
window.addSubview(view)
}
}
override var inputAccessoryView: UIView? {
get {
let containerView = UIView()
containerView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: 50)
containerView.backgroundColor = .purple
return containerView
}
}
override var canBecomeFirstResponder: Bool {
return true
}
}
盡管發生的所有事情都是半透明的背景可見,但是我也看不到視圖中也沒有添加inputAccessoryView
,我不確定為什么。
您的CommentsLauncher永遠不會成為您提供的代碼中的第一響應者。 當響應者成為第一響應者時,將顯示UIResponder的inputAccessoryView。
將showLauncher方法更改為如下所示:
func showLauncher() {
if let window = UIApplication.shared.keyWindow {
window.addSubview(view)
becomeFirstResponder()
}
}
並且您應該看到輸入附件視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.