更改 ios7、Interface Builder 中的复选标记颜色

Posted

技术标签:

【中文标题】更改 ios7、Interface Builder 中的复选标记颜色【英文标题】:Change checkMark color in ios7, Interface Builder 【发布时间】:2014-05-20 16:23:09 【问题描述】:

说明

我正在开发一个应用程序,使用tableViews 并通过为每个选定项目放置checkmark 来选择属性。它让我发疯了 2 个小时,因为代码是正确的,但我没有看到 checkmark

问题

实际上checkmark 已正确加载但我没有注意到,因为背景是白色的,checkmark 也是。

我想做的事

我想更改checkmark(可能在Interface Builder)的颜色,而不使用带有不同图像的自定义CheckMarks

这可能吗?如果不可能,为什么我有白色的复选标记,而另一个 tableView 中的另一个是灰色的?

【问题讨论】:

【参考方案1】:

如果您在单元格上使用accessoryType,这是不可能的。

如果您想变得更灵活,最好创建自定义视图:

UIImageView* tick = (UIImageView*) [cell.contentView viewWithTag:1];
if(tick == nil)

    tick = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Archive"]];
    [cell.contentView addSubview:tick];
    tick.tag = 1;
    tick.frame = CGRectMake(285.0f, 20.0f, tick.frame.size.width, tick.frame.size.height);

你可以做任何你喜欢的事情,使用自定义图像,添加背景等等......

如果您希望代码看起来更好,最好扩展 UITableViewCell 并使用一些方法和属性创建自定义类来控制它。我只是为您提供了实现您想要的快速方法的代码。

【讨论】:

我想这样做的原因只是不涉及太多工作,因为我有太多的 tableViews 和不同的自定义单元格。我实现了一次,但我不想再次包含相同的代码! 因此,如果您只是创建基本表视图单元格视图,那么您可以非常轻松地在整个应用程序中使用它。只需使用您的自定义类而不是 UITableViewCell 我现在实际上正在使用它,但请检查编辑时添加的最后一个问题。为什么我的复选标记是白色的,而默认情况下它是灰色的?

以上是关于更改 ios7、Interface Builder 中的复选标记颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Xcode/Interface Builder 自动向下移动视图?

如何从 XCode 4 Interface Builder 更改 NSScrollView 字体?

在 Interface Builder 中更改 UILabel 上的字符间距

在 Interface Builder 中使用大小类更改字体大小

在 Interface Builder 中使用 Auto Layout 更改方向

Interface Builder 布局 UIViewController xib 用于更改顶部栏高度的方向