如何为整个 App 设置 UIKeyboard-Style?

Posted

技术标签:

【中文标题】如何为整个 App 设置 UIKeyboard-Style?【英文标题】:How to set the UIKeyboard-Style for the whole App? 【发布时间】:2013-01-31 18:50:37 【问题描述】:

我目前正在尝试全局设置键盘样式,但我的方法不起作用。 我尝试使用UIAppearance 并将这行代码放入 AppDelegate 中:

[[UITextField appearance] setKeyboardAppearance:UIKeyboardAppearanceAlert];

但我在控制台上得到的是以下内容:

[UISearchBarTextField _UIAppearance_setKeyboardAppearance:]: unrecognized selector sent to instance 0xa1897e0

有什么办法解决这个问题吗?

【问题讨论】:

您找到解决方案了吗? 【参考方案1】:

ios7 为 UITextFields 扩展了UIAppearance 协议,因此您现在可以在 UITextField 上设置keyboardAppearance。

[UITextField appearance].keyboardAppearance = UIKeyboardAppearanceDark;

但是,UITextView 不支持它。对于这门课,我会选择 jszumski 的解决方案

【讨论】:

我最近尝试过,但它不起作用(iOS 8.2)。至少,结合表格视图 是的!它可能会导致崩溃,但您仍然可以直接设置为 textview textView.keyboardAppearance = UIKeyboardAppearanceDark; 这些似乎都不适用于 UIKeyboardTypeNumberPad【参考方案2】:

UIAppearance 仅适用于特别标有宏 UI_APPEARANCE_SELECTOR 以兼容的方法,不幸的是 keyboardAppearance 不是其中之一。

获得所需内容的最佳方法是子类化UITextField 并在子类的initinitWithFrame: 方法中设置keyboardAppearance = UIKeyboardAppearanceAlert;。然后在应用程序中使用 UITextField 的任何地方专门使用您的课程。

【讨论】:

以上是关于如何为整个 App 设置 UIKeyboard-Style?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何为整个应用程序设置自定义字体[重复]

如何为 Electron / Atom Shell App 设置应用程序图标

如何为android中的APP设置默认权限值?

目标c如何为整个应用程序上的所有UIbuttons设置独家触摸

如何为Electron / Atom Shell App设置应用程序图标

如何为使用“create-react-app”创建的 React 应用程序设置标头