【问题标题】:Problems making an UIImageView opaque on the iPhone在 iPhone 上使 UIImageView 不透明的问题
【发布时间】:2010-11-19 12:46:14
【问题描述】:

尽可能少地进行 Alpha 混合是 iPhone 上表格视图单元格的重要性能考虑因素。我有主要由一个大图像视图组成的表格单元格。我已将 UIImageView 设置为不透明,无论是在 Interface Builder 中还是以编程方式,但 CoreAnimation 工具仍然显示它是 alpha 混合的。

有没有办法让 UIImageViews 实际上不透明,还是我必须进行自定义绘图以防止混合?

【问题讨论】:

  • 您在视图中加载什么样的图像?如果它是 PNG 或其他支持 alpha 的格式,Core Animation 可能会因为它的图像而混合视图。
  • 这是一个PNG图像(推荐iPhone图像格式,IIRC),但它没有任何透明像素。
  • 它们是 alpha 混合实际视图还是视图内容?检查器中的任何选项是否允许您将背景、颜色或样式设置为不透明?它是您可以在运行时设置的属性吗?
  • 暂时搁置这个问题,您是否遇到了实际的性能问题?也就是说,我一直在我的表格单元格中使用 alpha 混合视图,并且它非常流畅。事实上,我有几个应用程序,其中单元格本身是透明的(因此表格背景显示出来),即使在较旧的(3G)硬件上也没有问题。我只是建议你不要在解决问题上付出太多努力,如果这对你来说不是一个真正的问题。
  • 图片有alpha通道吗?即使没有透明像素,也很有可能存在 Alpha 通道。尝试删除它。

标签: iphone performance uitableview uiimageview quartz-graphics


【解决方案1】:

您的图片可能包含 Alpha 通道。尽管图像是不透明的,但 iOS 仍然将其视为半透明。尝试使用 Photoshop 删除此 Alpha 通道,方法是:图层 > 图层背景

【讨论】:

    【解决方案2】:

    [yourImageView setOpaque:YES];

    【讨论】:

    • setOpaque 是绘图系统的提示。测试时显示在这种情况下没有效果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多