【问题标题】:Tint of UIBarButtonItem doesn't match color I setUIBarButtonItem 的色调与我设置的颜色不匹配
【发布时间】:2012-07-19 21:50:39
【问题描述】:

我的 RGB 格式视图的背景颜色是 右:111/255 克:209/255 B:229/255

我尝试使用以下方法设置 UIBarButtonItem 的色调:

CGFloat nRed=111.0/255.0;
CGFloat nGreen=209.0/255.0;
CGFloat nBlue=229/255.0;
UIColor *myColor=[[UIColor alloc]initWithRed:nRed green:nBlue blue:nGreen alpha:1];
[[UIBarButtonItem appearance] setTintColor:myColor];

我在项目中拥有的所有 UIBarButtonItems 的颜色都发生了变化……但它与我的背景颜色仍然明显不同。有什么想法吗?

【问题讨论】:

  • 您要更改的按钮的名称是什么? '[UIBarButtonItem 外观]' 将设置应用于所有。是 leftBarButtonItem、rightBarButtonItem 还是 backBarbuttonItem?
  • 至于色差,我总是为我的值指定一个浮点数,例如:nBlue = 229.0f/255.0f,而不仅仅是数字。为我工作。
  • 您将 nBlue 传递给绿色,将 nGreen 传递给蓝色 :)

标签: iphone xcode uibarbuttonitem uicolor tint


【解决方案1】:

您不需要调用appearance 方法。只需这样做:

//Suppose you have a variable barButtonItem
barButtonItem.tintColor = [UIColor blueColor];

【讨论】:

  • 我之所以调用外观方法,是因为我使用的导航控制器会自动添加分布在多个视图中的 UIBarButtonItems,并且不想为每个视图设置 tintColor 属性。
猜你喜欢
  • 2015-12-21
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多