這裏我有一個簡單的例子。即時呼籲FirstResponder
在viewDidLoad
。但配件視圖僅在點擊屏幕後顯示。爲什麼不從一開始就展示?becomeFirstResponder not displayed from viewDidLoad
class TestViewController: MainPageViewController {
private let accessoryView = UIView() //TextInputView() // MessageInputAccessoryView()
override var inputAccessoryView: UIView {
return accessoryView
}
override var canBecomeFirstResponder: Bool { return true }
override func viewDidLoad() {
super.viewDidLoad()
accessoryView.backgroundColor = .red
accessoryView.frame = CGRect(x: 0, y: 0, width: 300, height: 50)
self.becomeFirstResponder()
// Do any additional setup after loading the view.
let tap = UITapGestureRecognizer(target: self, action: #selector(tappo))
self.view.isUserInteractionEnabled = true
self.view.addGestureRecognizer(tap)
tappo()
}
func tappo() {
self.becomeFirstResponder()
}
}
'accessoryView.becomeFirstResponder()'而不是'self.becomeFirstResponder()'? – Larme
@Larme Nope。 ;/ – HelloimDarius