在 ios 7 中保持 ios 6 披露指示器的外观

Posted

技术标签:

【中文标题】在 ios 7 中保持 ios 6 披露指示器的外观【英文标题】:Keep ios6 disclosure indicator apparence in ios7 【发布时间】:2013-12-06 19:56:59 【问题描述】:

ios 披露指示器在 ios7 中更改了外观;它现在是褪色的灰色。 不幸的是,我的应用程序有很多页面(超过 100 个)具有不同的部分和背景颜色。在ios6上没有问题,但是在ios7上,新的披露指示器在某些部分的背景上是不可见的。

我需要一个解决方案,因为我没有时间更改超过 100 个页面背景,即使我这样做了,如果颜色显示指示器在 ios7 中看起来还不错,在 ios6 中就不行,反之亦然。

【问题讨论】:

【参考方案1】:

设置表格视图的tintColor。这将为单元格上的披露指示器着色。

请注意,tintColor 属性仅在 iOS 7 下可用,因此请正确编码:

if ([self.tableView respondsToSelector:@selector(setTintColor:)]) 
    self.tableView.tintColor = ... // the desired color

【讨论】:

你确定吗?这对我不起作用。尝试在 Storyboard 和 ViewDidLoad 中设置它。【参考方案2】:

是否可以为 ios7 创建自定义图像,并在数据源“cellForRowAtIndexPath”等方法中设置问题单元格的附件视图,如下所示?

if(UIDevice.currentDevice.systemVersion.floatValue >= 7)


    UIImageView* customDisclosureImageView = [[UIImageView alloc] initWithImage:normalImage];
    customDisclosureImageView.highlightedImage = selectedImage;
    cell.accessoryView = customDisclosureImageView;

【讨论】:

以上是关于在 ios 7 中保持 ios 6 披露指示器的外观的主要内容,如果未能解决你的问题,请参考以下文章

披露指示器移动单元格子视图

UITableViewCell 显示指示器位置

iPhone:iOS 6 和 5.1 之间 cellForRowAtIndexPath 行为的令人费解的差异

从 iOS 6 更新到 iOS 7 时 identifierForVendor 会发生变化

在 iOS 7 上的 UITableView 上指示加载活动的正确方法是啥?

iOS 7 中的自定义后退指示器图像未垂直居中