2015-12-21 90 views
0

我正在使用UIWebView來顯示應用程序中的內容,並且想要更改使用選擇控件時顯示的完成按鈕的顏色。更改UIWebView完成按鈕顏色

它目前顯示爲灰色,很難看清。

Picker

回答

4

「完成」按鈕是白色的,因爲你可能設置tintColor白色所有UIBarButtonItems使用UIAppearance。這會影響選取器視圖中的「完成」按鈕,該按鈕恰好也是UIBarButtonItem

因此,您必須從全局白色tintColor中排除拾取器視圖中的「完成」按鈕。我不知道,如果你只需要白色UIBarButtonItems在導航欄上,但如果這樣做,你能做到這一點,只設置tintColor爲欄按鈕的項目在您的導航欄,並保留其他所有UIBarButtonItems不變:

UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).tintColor = UIColor.whiteColor() 

但是,這隻適用於iOS9,而適用於較舊iOS版本的舊appearanceWhenContainedIn方法在Swift中不可用。

因此,如果您正在使用Swift,並且您必須鎖定比iOS9更早的iOS版本,那麼這可能不適合您。在這種情況下,您必須刪除UIAppearance設置的白色tintColor,並在導航欄中手動設置tintColorUIBarButtonItems,而不使用UIAppearance

1

另一種可能的解決方法就是做

UIPickerView.appearance().tintColor = UIColor.blueColor()

把這個在你的AppDelegate,你準備好去!

+0

不,他詢問UIWebView中的pickerView。就像在Safari中選擇日期一樣。 – emotality

+0

,工作原理是一樣的。我有同樣的確切問題,併爲我解決了這個問題 –

-1

試試這個

讓DoneButtonAttributes:[字符串:AnyObject] = [NSForegroundColorAttributeName:UIColor.black] UIBarButtonItem.appearance()setTitleTextAttributes(cancelButtonAttributes爲:UIControlState())