2015-12-21 99 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())