Swift:inputAccessoryView 按钮未显示

Posted

技术标签:

【中文标题】Swift:inputAccessoryView 按钮未显示【英文标题】:Swift: inputAccessoryView buttons are not showing 【发布时间】:2015-05-13 15:51:59 【问题描述】:

以下是我将 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

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

【问题讨论】:

【参考方案1】:

对我来说,我使用 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

【讨论】:

检查更新的代码。我忘了放框架或 UINavigationBar 现在我看到键盘顶部有一个白条,但没有按钮。 检查更新的代码,将背景颜色更改为黑色 我们仍然缺少一些东西,栏现在是黑色的但仍然没有按钮 您能否将创建完成按钮的方式更改为这样(检查更新的答案):让 doneButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "closeMessageViewKeyboard") 【参考方案2】:

1) 添加自我? self.messageView.inputAccessoryView = 键盘按钮视图

2) 您应该能够删除此行: doneButton.possibleTitles = ["完成"] 并将 (title: "done",...) 添加到它上面的行。

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

【讨论】:

以上是关于Swift:inputAccessoryView 按钮未显示的主要内容,如果未能解决你的问题,请参考以下文章

swift如何将inputAccessoryView停靠在UIToolbar上方(不是底部)

Swift inputAccessoryView 覆盖错误

如何在 inputAccessoryView [Swift] 中实现滚动视图

旋转后Swift inputAccessoryView未附加到键盘

如何使用 Swift 在 CustomCell 中实现 inputAccessoryView 到 UITextField?

ios8 swift:我如何访问/编辑/删除默认/私有 inputAccessoryView 高度约束'_UIKBAutolayoutHeightConstraint'