【问题标题】:TintColor Changing on Popover Push弹出框推送时的 TintColor 更改
【发布时间】:2015-09-12 02:05:40
【问题描述】:

我将窗口的色调颜色设置为任意颜色,然后尝试在每个按钮的基础上覆盖它,但似乎只要应用了 segue,按钮就会恢复为窗口色调在他们身上。

在 didFinishLaunchingWithOptions 中设置色调颜色:

self.window.tintColor = [UIColor redColor];

然后是我在 viewDidLoad 中的两个按钮:

[self.button1 setImage:[[UIImage imageNamed:@"711-trash"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
self.button1.tintColor = [UIColor purpleColor];

self.button2.tintColor = [UIColor blueColor];

其中 button1 是自定义类型的按钮,而 button2 是系统类型的按钮。

当弹出框第一次出现时,两个按钮被染成紫色和蓝色。但是当推动 segue 视图控制器时,弹出,两个按钮切换为红色。有什么办法可以预防吗?

编辑:

【问题讨论】:

  • 您是否厌倦了在 viewWillAppear 中设置颜色?
  • @Leonardo 同样的问题,似乎不受 viewWillAppear 的影响
  • 这很奇怪,你有没有机会在其他地方设置 tintColor?
  • @user3779315 我可以在任何地方设置色调颜色,但任何时候我都会采取同样的行为

标签: ios objective-c segue tintcolor


【解决方案1】:

我尝试过像这样复制您的代码:

但是一切都按预期进行:

所以我同意@user3779315,可能您正在其他地方设置按钮的色调颜色。顺便说一句,您项目的附加代码将有助于澄清问题:-)

【讨论】:

  • 嘿@Ducky 感谢您的回复 - 您是否在 didFinishLaunchingWithOptions 中设置了窗口色调颜色?该代码是否也适用于 iPad 模拟器?
  • 是的,我做到了self.window.tintColor = [UIColor redColor]; :) 否则你看不到屏幕截图中带有红色 tintColor 的按钮
  • 好点... iPad 模拟器怎么样?当我用 iPhone 进行测试时,预期的行为可以正常工作,但 iPad 不能
  • 我实际在 iPad 上测试过。我没有发布 iPad 模拟器的截图,但结果相同
  • 超级诡异,我贴的示例代码是我项目中唯一的代码,它不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 2021-12-14
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多