iOS7.0中的UITableView单元格背景差异

时间:2013-09-23 14:08:02

标签: uitableview background ios7 testflight

所以我用很多UITableViews制作了这个应用程序,这些UITableViews是围绕iOS 4.3开始的。

在过去的一周里,我已经将我的iPhone更新到iOS7.0,当我运行我的应用程序(目前正在开发中)时,我的UITableView背景变成了白色而不是以前用过的清晰色。

所以我搜索了谷歌并得出结论,我们现在应该在细胞水平上做这种颜色。 喜欢这个问题: UITableView clear background

我试过了,它运行正常。 然而,当我试图向我的共同开发者解释这种差异时,我无法弄清楚一种奇怪的行为。

在开发过程中,我们使用testflight上传多个可测试版本,以便我们可以调试和跟踪项目。 在这次演讲中,我的一位合作开发人员从我将mac更新到MountainLion,iOS 7.0和xCode5.0之前上传的testflight下载了相同的应用程序。 当他用iOS7.0在iPhone上运行时,UITableView背景是清晰的颜色!

我的问题是:

一个早于我的最新版本并上传到testflight的版本(当我运行Lion,xCode 4.5时)在iOS 7.0的同一个iPhone设备上的运行方式不同,然后是我当前编译的版本(来自MountainLion,xCode 5.0) ?

对我来说没有意义。 有谁知道为什么这两个版本的工作方式不同? 或者我只是疯了?

3 个答案:

答案 0 :(得分:1)

我在我的应用程序中找到了类似于此行为的内容。

应用程序(具有完全相同的代码)在iOS 7设备中执行的方式因编译而异,具体取决于Xcode版本和iOS SDK)。我的意思是,只有在使用XCode 5和iOS 7制作应用程序时,才会显示uitableview背景的更改行为。使用旧的Xcode只保留旧的行为(可能向所有实际的应用程序向后兼容)

答案 1 :(得分:0)

您是否确保将旧SDK用于项目的所有目标(例如从SDK 7.0切换到SDK 6.1)?执行上述操作后,我的表视图就像我预期的那样正确透明。当您使用新的iOS 7 SDK进行构建时,它会使用新代码,这会使多个元素的行为和显示方式不同。

安装旧版应用程序的同事正在安装使用iOS 6.1 SDK(或者可能是较旧的SDK?)构建的应用程序,因为它是使用Xcode 4.5构建的

它与您用于构建项目的Xcode版本无关,而是与您在最新版本的Xcode中使用的设置无关。如果您没有看到iOS 6.1 SDK作为基本SDK的选择,您必须将其移植到或将其链接到Xcode 5(有许多问题详细说明如何在Stackoverflow.com上执行此操作)< / p>

答案 2 :(得分:0)

只需在代码中添加此UITableViewDataSource方法即可。

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { [cell setBackgroundColor:[UIColor clearColor]]; }