Swift:inputAccessoryView 按钮未显示

Swift: inputAccessoryView buttons are not showing

以下是我将 inputAccessoryView(上面有一个完成按钮)添加到我的 textView 的代码:

let keyboardButtonView = UIToolbar()
keyboardButtonView.sizeToFit()
let doneButton = UIBarButtonItem(image: nil, style: .Done, target: self, action: "closeMessageViewKeyboard")
doneButton.possibleTitles = ["Done"]
var toolbarButtons = NSMutableArray()
toolbarButtons.addObject(doneButton)
keyboardButtonView.items = toolbarButtons as [AnyObject]
messageView.inputAccessoryView = keyboardButtonView

“完成”按钮永远不会出现。我得到的只是一个白色的配件条。我在这里遗漏了什么吗?

对我来说,我使用 UINavigationBar 创建辅助视图,如下所示:

let navBar = UINavigationBar(frame: CGRectMake(0, 0, viewWidth, 44))
navBar.barStyle = UIBarStyle.BlackTranslucent;
navBar.backgroundColor = UIColor.blackColor();
navBar.alpha = 0.9;
//replace viewWidth with view controller width
let navItem = UINavigationItem()
let doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "closeMessageViewKeyboard")
navItem.rightBarButtonItem = doneButton

navBar.pushNavigationItem(navItem, animated: false)

messageView.inputAccessoryView = navBar

1) 添加自己? self.messageView.inputAccessoryView = keyboardButtonView

2) 您应该可以删除此行: doneButton.possibleTitles = ["Done"] 并将 (title: "done",...) 添加到其上方的行。

3) 我有类似的代码,可能没关系,但是,您可以添加: keyboardButtonView.barStyle = UIBarStyle.Default