[英]Swift 3: InputAccessoryView instantiated from .xib file
我在從.xib文件中實例化我的InputAccessoryView時遇到問題,其中inputAccessoryView對輸入沒有反應:
private var conversationToolBar = ConversationToolBar()
override var inputAccessoryView: UIView? {
return self.conversationToolBar
}
如果我從方法(createAccessoryView)實例化我的inputAccessoryView:
private var conversationToolBar = ConversationToolBar().createAccessoryView(width: UIScreen.main.bounds.width)
我的課:
class ConversationToolBar: UIView {
@IBOutlet var view: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
self.view = UINib(nibName: "ConversationToolBar", bundle: nil).instantiate(withOwner: self, options: nil).first as! UIView
self.addSubview(self.view)
self.view.frame = self.bounds
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.view = UINib(nibName: "ConversationToolBar", bundle: nil).instantiate(withOwner: self, options: nil).first as! UIView
self.addSubview(self.view)
self.view.frame = self.bounds
}
func createAccessoryView(width: CGFloat) -> UIView {
let accessoryView = UIView(frame: CGRect(x: 0, y: 0, width: width, height: 100))
accessoryView.backgroundColor = UIColor.blue
let closeLabel = UITextField(frame: accessoryView.frame)
closeLabel.font = UIFont.boldSystemFont(ofSize: 14)
closeLabel.text = "Hello"
closeLabel.textColor = UIColor.white
closeLabel.textAlignment = .center
accessoryView.addSubview(closeLabel)
return accessoryView
}
}
行為按預期工作。
誰能幫我? 謝謝
我有同樣的問題,顯示inputAccessoryView
按預期,並修復它調用此方法刷新輸入或附件視圖:
closeLabel.reloadInputViews()
當對象是第一響應者時更新自定義輸入和附件視圖。 當第一響應者作為第一響應者時,您可以使用此方法刷新自定義輸入視圖或輸入與當前對象關聯的附件視圖。 視圖會立即替換 - 也就是說,不會將它們設置為動畫。 如果當前對象不是第一個響應者,則此方法無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.