我不能讓我的UITableView來改變顏色與iOS啓動9.編程方式創建的UITableView總是白色iOS9
我在代碼中創建一個UITableView
,這是我的自定義視圖的子視圖,並設置我的子視圖init
方法中的背景顏色。
myTableView.backgroundColor = UIColor.yellowColor()
但它保持白色。
我使用了View Debugging> Capture View Hierarchy來確認它是表格視圖本身,而不是表格視圖單元格是白色的。 (但爲了以防萬一,我設置了單元清除)。
我已經看到了很多談論類似問題的舊帖子的(如this,this和this和this newer one),所以我試圖像
myTableView.backgroundView = nil // or UIView()
或
myTableView.backgroundView.backgroundColor = UIColor.clearColor()
但事情這些也沒有工作。
我發現,如果我做了
myTableView.backgroundColor = UIColor.yellowColor()
某個原始佈局後(例如,一個按鈕自來水),那麼它會改變背景顏色。
這只是iOS 9.3的一個問題。在我使用iOS 8.1和8.4的測試中,在init
期間設置背景色沒有問題。
還有什麼我可以嘗試嗎?
'init'米ethod不是修改UI屬性的好地方。嘗試將其移動到'layoutSubviews'方法 – redent84
在你的代碼中你添加了這個tableView? viewDidLoad有任何機會?如果是這樣,請將代碼移到viewWillAppear,並使用initWithFrame方法,而不是init。 Init來自NSObject,而initWithFrame專門用於UIView對象。 –
嘗試在'awakeFromNib'中設置背景顏色 – Bing