更改活动共享中按钮的色调颜色

Posted

技术标签:

【中文标题】更改活动共享中按钮的色调颜色【英文标题】:Change tint color of buttons in activity sharing 【发布时间】:2016-10-01 22:18:01 【问题描述】:

我的应用使用蓝色作为导航栏。我在 AppDelegate 中这样全局设置它:

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.0 green:0.4705882353 blue:0.7450980392 alpha:1.0]];

问题在于,当用户通过电子邮件与 UIDocumentInteractionController 共享 PDF 文件时,“取消”和“发送”按钮也接近蓝色,这使得它们几乎不可见。 p>

我试过了:

[[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UINavigationBar class]]] setTintColor:[UIColor whiteColor]];

[[UIButton appearanceWhenContainedInInstancesOfClasses:@[[UINavigationBar class]]] setTintColor:[UIColor whiteColor]];

这适用于我的应用程序的其他任何地方,但不适用于UIDocumentInteractionController 提供的屏幕。 如何更改这些按钮的颜色?

【问题讨论】:

您仍然没有得到解决方案,请查看下面的答案,它对我有用。 【参考方案1】:

如果你想改变UIDocumentInteractionController中条形按钮的颜色,你需要设置窗口色调颜色。

在 Set NavigationBar tint color 的代码之后添加下面的代码行。

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.0 green:0.4705882353 blue:0.7450980392 alpha:1.0]];
// Add this line...
self.window.tintColor = [UIColor whiteColor];

这对我有用。

注意:如果您想重置窗口色调颜色,请使用UIDocumentInteractionController委托下方。

- (void)documentInteractionControllerDidDismissOpenInMenu:controller
    // restore the tintColor which you set @ app delegate
    self.appDelegate.window.tintColor = [UIColor redColor];

希望这会对你有所帮助。

【讨论】:

这对你有帮助吗? 什么版本的 ios 为你工作,Ketan? @NataliaChodelski 在回答时我正在使用 iOS 9.x 检查模拟器...目前我使用的是 10.x,但我没有确认不是 10.x :(跨度> 这个答案可以帮助我的栏多个按钮 - 2 个右按钮和 2 个左按钮。内部按钮采用默认(蓝色)色调。 navItem.rightBarButtonItems = @[exButton, fwButton]; fwButton 是蓝色的,exButton 是红色的。添加后 self.window.tintColor = [UIColor colorWithRed:222.0/255.0 green:33.0/255.0 blue:0.0/255.0 alpha:1.0];在 AppDelegate 中,所有按钮都带有这种新的红色。

以上是关于更改活动共享中按钮的色调颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改标签栏中活动整个部分的颜色 - iOS 7

更改 UIAlertview 和 UIActionsheet 按钮的色调颜色

在 Swift 中按下 uibutton 时更改色调图像颜色

滚动时更改 UIButton 色调颜色

仅更改一种特定的 UITabBarItem 色调颜色

更改工具栏的色调颜色