2014-09-11 112 views
1

当我运行我的自定义键盘时,它总是以我的黑色风格进行设计。例如,如果我在Safari中使用它们的键盘,则此代码在红色时会返回黄色。如果我再拉下聚光灯,它仍会返回黄色。我在这里做错了什么?自定义键盘扩展外观总是黑暗?

override func textDidChange(textInput: UITextInput) { 
    self.nextKeyboardButton.backgroundColor = myColor 
} 

var myColor: UIColor { 
    get { 
     var proxy = textDocumentProxy as UITextDocumentProxy 
     if proxy.keyboardAppearance == UIKeyboardAppearance.Light { 
      return UIColor.redColor() 
     } else { 
      return UIColor.yellowColor() 
     } 
    } 
} 
+0

在真实设备上测试。在某些情况下,它与系统键盘的风格相同。 – 2014-09-11 03:07:59

+0

你在textDidChange之外声明了myColor,没错 – 2014-09-11 03:09:42

回答

4

的问题是proxy.keyboardAppearance不会总是返回.Light即使是光键盘 - 它可能会返回.Default。为了解决这个问题,我改变了条件来检查.Dark否则返回一个适合灯光键盘的颜色。