我知道這是5年前,但它可能會幫助別人,誰喜歡我偶然發現了你的問題。
我用一個UIToolbar作爲我inputAccessoryView(在我的情況下,它有一個標籤,一個靈活的分離器和按鈕)。 在textFieldEditingChanged事件我重建工具欄的一部分,這樣
@IBAction func textFieldEditingChanged(_ sender: UITextField) {
//get a reference to the toolbar
let toolBar = sender.inputAccessoryView as! UIToolbar
//create a new label and set size + other properties
toolbarLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 22))
toolbarLabel.text = mySpecificCalculatedString(sender.text!)
toolbarLabel.font = defaultFont(17)
toolbarLabel.adjustsFontSizeToFitWidth = true
let width = toolbarLabel.textRect(forBounds: CGRect(x: 0, y: 0, width: maxWidthForLabel, height: 0), limitedToNumberOfLines: 1).size.width
toolbarLabel.frame = CGRect(x: 0, y: 0, width: width, height: 22)
toolbarLabel.textColor = .black
toolbarLabel.tag = 666
//rebuild the specific tolbar item
let customView = UIBarButtonItem(customView: toolbarLabel)
toolBar.items![0] = customView
}
注:簡單地改變標籤的文本對我也沒有工作,我不得不重新初始化。
希望它有幫助。
你是如何試圖更新標籤,以及如何你肯定的是,即使用戶界面不顯示它的價值被更新? – 2011-06-04 16:03:23
請顯示更多代碼。 – jaminguy 2011-06-04 16:45:25