【问题标题】:Images of UITableView Cells change?UITableView 单元格的图像发生变化?
【发布时间】:2012-03-08 20:17:10
【问题描述】:

虽然我完成了一个应用内购买应用程序的开发,并且在 iPad/Iphone 上进行了几次测试后,一切都很好,表格视图的单元格的图像及其高度与代码中写的完全一样,所以我上传了应用程序,当它被处理到应用商店时,我下载了它,iPhone / iPad中的表格视图单元格的尺寸不同,比测试时设置的要大得多,所以单元格中的图像就像被拉伸了!!!不清楚,我尝试直接通过xcode测试它到我的设备,它几乎和以前一样好,但问题只是从商店下载时,

非常感谢任何帮助,

问候,

【问题讨论】:

  • 请附上上传到appstore前后的截图和图片。图片是从包中加载的吗?
  • 亲爱的,我尝试附加屏幕截图,但我认为不允许,因为我必须获得 10 个声誉,因为我认为图像是手动添加到项目内的资源文件夹中,然后通过编码分配它们to tableView Cells??!!!
  • @user1214314 你现在应该可以上传图片了。
  • 好吧,现在已经包含图片了,我需要你的反馈!!
  • 第一个在测试时显示,应该是这样的,第二个是从商店下载后显示的,这是问题所在。问候,

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


【解决方案1】:

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

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

对我来说,这发生在为 release + armv6 架构构建时,我之前有过exactly the same problem(仅在发布时实现)。

谢天谢地,有一种方法可以禁用浮点优化。方法如下:

使用 LLVM GCC 4.2

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


使用 Apple LLVM 3.0 编译器

  1. 按照上述步骤 1 和 2 操作。
  2. 在搜索框中搜索“其他 c 标志”
  3. 按照上述相同步骤为 ARMv6 + 版本添加特定配置。
  4. 双击带有标志的框,然后添加标志-mno-thumb。它现在应该如下所示

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

希望对您有所帮助。

【讨论】:

  • 人非常感谢,我真的很感谢你的简短回复,我完全按照你上面的解释做了,我的应用程序也更新了,希望这能解决我的问题,再次感谢我尽我所能问候,
【解决方案2】:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 120; // also custom uitableviewcell should have same height
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多