UITableView Cells的图像有变化吗?

时间:2012-02-17 12:22:54

标签: objective-c ios xcode4.2 itunes ios5

虽然我完成了一个应用程序内购买应用程序的开发,并且在iPad / Iphone上进行了几次测试后,每件事都很好,桌面视图的单元格和高度的图像与代码中写的一模一样,所以我上传了应用程序当它被处理到app Store时,我下载它,IPhone / IPad中的表视图单元格的大小都比测试时设置的大小大得多,因此单元格中的图像就像拉伸!!!!不清楚,我试图直接通过xcode测试它到我的设备,它几乎没有像以前一样,但问题是只有从商店下载,

我非常感谢任何帮助, testing image

after downloading from store

此致

2 个答案:

答案 0 :(得分:1)

这很可能与浮点计算优化有关。

在构建发布时,默认情况下,Xcode将尝试完全优化您的代码,包括使您的浮点计算更有效。但是,有时它们可​​能会被错误地优化,这可能会导致重大问题,尤其是视图的定位/大小调整等。

对我来说,这是在构建发布+ armv6体系结构时发生的,而且我之前已经exactly the same problem(只有在发布时才实现)。

值得庆幸的是,有一种方法可以禁用浮点优化。方法如下:

使用LLVM GCC 4.2

  1. 点击左侧文件窗格中的项目
  2. 点击Targets下的项目名称(如下所示),然后点击“构建设置”。
  3. 在右侧的搜索框中搜索“thumb”
  4. 您应该会在“LLVM GCC 4.2 - 代码生成”下看到一个名为“Compile for Thumb”的设置。如果你不这样做,那是因为你使用的是Apple LLVM编译器3.0(以下是相关说明)。
  5. 将鼠标悬停在Release上,然后点击加号图标。
  6. 应显示一个新选项,如果有下拉列表,请从下拉列表中选择“ARMv6”。
  7. 然后为该选项选择“否”。它现在应该如下所示:
  8. Screenshot showing Compile for Thumb setting


    使用Apple LLVM 3.0编译器

    1. 按照上面的步骤1和2进行操作。
    2. 在搜索框中搜索“其他c标志”
    3. 按照上述相同步骤添加ARMv6 +版本的特定配置。
    4. 双击包含标志的框,然后添加标记-mno-thumb。它现在应该如下所示
    5. Disabling Compiile for Thumb for the Apple Compiler

      如果此后发布版本仍然存在问题,您可能需要尝试全局禁用compile for thumb。

      希望有所帮助。

答案 1 :(得分:1)

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 120; // also custom uitableviewcell should have same height
}