如何在键盘上方实现一个按钮?

4
如何在键盘上方实现一个按钮? (例如:“笔记”应用程序,或者像这样 这个)。

可能是重复的问题,参考如何在键盘出现时使UITextField上移 - xoudini
你想让一个按钮固定在键盘的顶部边缘吗? - DeyaEldeen
@Zazu 是的,如果它也在苹果的笔记中实现了。 - Aldiyar Y
2个回答

9

MKaro的解决方案可行!我附上了Swift 3版本,以便更快地复制粘贴。

Swift 3:

let keyboardToolbar = UIToolbar()
keyboardToolbar.sizeToFit()
keyboardToolbar.isTranslucent = false
keyboardToolbar.barTintColor = UIColor.white

let addButton = UIBarButtonItem(
    barButtonSystemItem: .done, 
    target: self, 
    action: #selector(someFunction)
)
addButton.tintColor = UIColor.black
keyboardToolbar.items = [addButton]
textView.inputAccessoryView = keyboardToolbar

1
很简单,你只需要使用UIToolBar和UIBarButtonItem即可。
这是一个简单的示例,可以为特定的TextField创建“特殊键盘”:
以下代码创建了工具栏:
UIToolbar *keyboardToolbar = [[UIToolbar alloc] init];
[keyboardToolbar sizeToFit];
keyboardToolbar.translucent=NO; //if you want it.
keyboardToolbar.barTintColor = Some Color; //the color of the toolbar

这段代码创建了您想要的按钮。
UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc]
                                  initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                  target:self.view action:@selector(set your own function here:)];
[doneBarButton setImage:CHOOSE YOUR IMAGE];
keyboardToolbar.items = @[doneBarButton];//you can add couple of buttons if you want to.
yourtextfield.inputAccessoryView = keyboardToolbar;

1
看起来他使用的是Swift。 - DeyaEldeen
1
我知道,但这是应该做的方式。对我来说,用obj-c编写它更简单。更重要的是要理解这个想法,我希望这能帮助他理解。 - MKaro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接