【问题标题】:ios8 modifying system keyboardios8修改系统键盘
【发布时间】:2015-06-10 10:54:44
【问题描述】:

我对编程很陌生。我想修改十进制键盘系统键盘,以便当用户选择特定的文本字段时,会出现一个十进制键盘。我不想要当前系统键盘中存在的字母字符,否则它们的键盘将是相同的。我不想为全新的键盘使用扩展,因为我知道这将需要一种为用户更改键盘的方法,这是我绝对不想要的。我只想对苹果十进制键盘进行微调。从我到目前为止的研究来看,我被引导到苹果文档中用于数据输入的自定义视图和输入附件视图。但是,此文档位于我不熟悉的目标 c 中。只是想知道最好的方法是什么。非常感谢。

【问题讨论】:

  • 到目前为止,我所做的是为所选字段创建了一个新的 UITextField 子类。在那个子类中,我用 getter 和 setter 覆盖了 inputView 属性。它似乎有效,但不确定这是否是最好的方法。一旦我弄清楚如何发布代码,我将在下面发布我的代码!我对此很陌生...
  • 您可以在 Storyvoard 中为文本字段设置键盘类型属性。将该属性设置为数字键盘。它将显示没有字母的数字键盘。我不知道你为什么写要修改十进制键盘。
  • 嗨,贾西。感谢您的回复。不幸的是,数字键盘没有小数点,所以这对我不起作用。我需要十进制键盘,这就是我上面提到的原因。我想我应该说小数点是明确的。谢谢
  • 还有一个小数点。使用它,您可以从情节提要或 XIB 或代码中设置它。 ` [self.tfPassword setKeyboardType:UIKeyboardTypeDecimalPad];`
  • 情节提要中的小数点包括键上的字母,这是我试图避免的整个问题。谢谢。

标签: ios swift ios8 keyboard


【解决方案1】:
import UIKit

这是我的代码。它似乎有效,但我不确定它是否是最有效的解决方案。任何投入将不胜感激。请原谅双关语!

class myTextField: UITextField {

    override var inputView: UIView! {
        get {var myView = getMyKeyboardView()
            return myView}
        set {}
    }

    func getMyKeyboardView() -> UIView! {
        var myKeyboardView: UIView!
        var keyboardNib = UINib(nibName: "myKeyboard", bundle: nil)
        myKeyboardView = keyboardNib.instantiateWithOwner(self, options: nil)[0] as UIView
        return myKeyboardView
    }

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多