2014-09-11 81 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否則返回一個適合燈光鍵盤的顏色。