如何在 iOS 7 中更改键盘的背景颜色
Posted
技术标签:
【中文标题】如何在 iOS 7 中更改键盘的背景颜色【英文标题】:How to change the background color of keypad in iOS 7 【发布时间】:2013-09-19 12:19:09 【问题描述】:我正在使用Xcode 5 来开发应用程序。我想更改ios 7 中的键盘颜色。我想要黑色或蓝色之类的颜色。
如何在 iOS 7 中更改键盘颜色?
【问题讨论】:
【参考方案1】:您只能使用UIKeyboardAppearance
将键盘外观设置为下列三种中的任何一种。
UIKeyboardAppearanceDefault // Corresponds to the UIKeyboardAppearanceLight
UIKeyboardAppearanceDark // Available in iOS 7.0 and later.
UIKeyboardAppearanceLight // Available in iOS 7.0 and later.
还有一个名为UIKeyboardAppearanceAlert
的常量,但现在已弃用。你应该改用UIKeyboardAppearanceDark
。
您不能使用任何自定义或未定义的颜色。 所以,使用...
myTextfield.keyboardAppearance = UIKeyboardAppearanceDark;
【讨论】:
【参考方案2】:在 iOS 7 中,由于键盘是半透明的,因此我可以通过在键盘后面添加一个彩色子视图来实现此效果,该子视图以 keyboard notifications 显示和隐藏。
我创建了一个GitHub 项目来演示这种技术。请记住,它目前仅适用于纵向,并且显然仅适用于 iOS 7。
https://github.com/meekapps/TintedKeyboard
【讨论】:
看起来,真的很棒,实际上! 基于“您只能使用UIKeyboardAppearanceDark
和UIKeyboardAppearanceLight
”cmets,我认为这是最接近回答原始问题的方法。【参考方案3】:
您可以使用keyboardAppearance方法更改颜色。
_textField.keyboardAppearance = UIKeyboardAppearanceDark;
看看Apple API docs
【讨论】:
感谢大家的回复【参考方案4】:根据您想要自定义颜色的评论:
您可以这样做...只需使用普通键盘,然后观察UIKeyboardWillShowNotification
和UIKeyboardWillHideNotification
,这样您就可以在键盘后面显示颜色UIView
。
这会很麻烦,但它会起作用,因为默认键盘在 iOS 7 上在一定程度上是透明的。
祝你好运。
【讨论】:
以上是关于如何在 iOS 7 中更改键盘的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在iOS 7上更改状态栏背景颜色和文本颜色? Warif Akhand Rishi