答案 0 :(得分:5)
“完成”按钮为白色,因为您可能使用tintColor
将所有UIBarButtonItems
的{{1}}设置为白色。这会影响选择器视图中的“完成”按钮,该按钮恰好是UIAppearance
。
因此,您必须从全局白色tintColor中排除选择器视图中的“完成”按钮。我不知道您是否只需要导航栏中的白色UIBarButtonItem
,但如果您这样做,则可以执行此操作,仅为导航栏中的栏按钮项设置UIBarButtonItems
并保留所有内容其他tintColor
未触及:
UIBarButtonItems
但是,这仅适用于iOS9,并且适用于旧iOS版本的旧UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).tintColor = UIColor.whiteColor()
方法在Swift中不可用。
因此,如果您正在使用Swift并且您必须定位早于iOS9的iOS版本,那么这可能不适合您。在这种情况下,您必须删除白色appearanceWhenContainedIn
的{{1}}设置,并在导航栏中“手动”设置UIAppearance
的{{1}},而不使用{{1} }。
答案 1 :(得分:1)
另一种可能的解决方案就是
UIPickerView.appearance().tintColor = UIColor.blueColor()
把它放在你的AppDelegate中,你准备好了!