iPhone XIB 迅速增长到巨大的尺寸

Posted

技术标签:

【中文标题】iPhone XIB 迅速增长到巨大的尺寸【英文标题】:iPhone XIB quickly grows to huge size 【发布时间】:2010-08-02 05:40:07 【问题描述】:

我曾经有一个非常小/简单的 XIB 文件。 某些原因导致它迅速增长到超过 500k。

其中唯一的图形是 3 个小的 PNG 文件(每个大约 4k)。

这里有一些 XIB。知道是什么导致这种尺寸增加吗?

   <string key="NSFrame">0, 44, 320, 416</string>
                        <reference key="NSSuperview" ref="391473517"/>
                        <object class="NSColor" key="IBUIBackgroundColor">
                            <int key="NSColorSpace">10</int>
                            <object class="NSImage" key="NSImage">
                                <int key="NSImageFlags">469473884</int>
                                <string key="NSSize">256, 256</string>
                                <object class="NSMutableArray" key="NSReps">
                                    <bool key="EncodedWithXMLCoder">YES</bool>
                                    <object class="NSArray">
                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                        <integer value="0"/>
                                        <object class="NSBitmapImageRep">
                                            <object class="NSData" key="NSTIFFRepresentation">
                                                <bytes key="NS.bytes">
anB3/3Byef91d33/dHZ8/2psc/9sbnX/Z2p0/3N1fP9qbXf/cXN6/2psdf9wcnv/dnd9/25xe/9ucHf/
cnB3/2ptd/92eH//a254/3Fzev9sb3n/cHJ5/25wd/9ucHf/cHN9/25wd/9wcnn/dnh8/2xudf93eX//
bm13/2ptd/9sb3n/bG51/3V3ff97fYP/YmVu/25xe/9sb3n/c3Z//2psc/9zdXz/cHN9/2dqcf9qbHP/
CmVu/2dqdP9nanH/am13/2xvef91eIH/Z2p0/25xe/91d33/bG51/25wd/92eHz/dXd9/29xdf9ucHf/
fHl9/2xudf9ucHf/bG95/3Bzff9sb3n/bnF7/3l7gf9zdn//c3Z//3N2f/91eIH/c3V8/3Byef9nanT/
zXd9/2dqdP9ucXv/dXd9/3N2f/9zdXz/Z2px/2xudf9ucXv/am13/3Bzff9zdXz/cHN9/2psc/9qbXf/
AbG51/2Jlbv9qbXf/aGp0/2hqcP9rbnX/cnV//29yfP9ucXv/bnF7/25xe/9zdn//bXB1/2xvef9qbXb/

【问题讨论】:

您能否提供有关您的特定 XIB 文件的更多信息?图像设置了什么样的控件?这是 Xcode/Interface Builder 的发布版还是 beta 版?通常 XIB 文件不应包含图像,因此您可以考虑通过 bugreporter.apple.com 向 Apple 报告错误 无缘无故发生在我身上。 我相信这与 .xib 中的图像有关。我将通过删除我嵌入的图像进行测试,看看尺寸是否减小。 【参考方案1】:

因此,为我修复它的解决方案与 UIColor 上名为 viewFlipsideBackgroundColor 的类方法有关。在我的 xib 中,我将 UIImage 上的背景颜色设置为这种模式,我猜 xcode 然后在 xib 中抛出一个 320x460 的 tiff 表示。一旦我改变了这个颜色,xib 的大小就减少了 800kb。

您的 xib 中是否包含任何模式?如果是这样,请尝试以编程方式应用它们。

【讨论】:

【参考方案2】:

它们可能是您拖入的 PNG 文件,但 xib 包含 TIFF 数据:

<object class="NSData" key="NSTIFFRepresentation">

您应该从您的 nib 中删除图像,并将 PNG 文件包含在您的应用程序包中,并在您的代码中按名称引用它们。

(当然,这是假设您展示的 xib 的小 sn-p 实际上与问题相关,而不是完全无辜的东西。)

【讨论】:

我认为这可能是 Apple 的错误。删除图像后,xib 仍然很大。我的 app bundle 中也有图片。 @Mark:我建议在文本编辑器中打开 xib 并环顾四周看看里面有什么巨大的东西。可能是同一个问题,也可能是不同的问题(或者是同一问题的不同的,可能是更新的变体)。 我发布了一个我认为问题所在的答案。基本上我删除了视图,直到尺寸下降。但我的 xib 看起来就像问题中的那个。

以上是关于iPhone XIB 迅速增长到巨大的尺寸的主要内容,如果未能解决你的问题,请参考以下文章

iPhone Xib 尺寸与实际 Iphone 的差异 [关闭]

如何在不使用自动布局的情况下以 XIB/故事板大小查看手机尺寸

不同屏幕尺寸的IOS不同xib

展开 xib 布局以填满屏幕

如何使用 Xcode 4.5 为 iPhone 4 和 iPhone 5 创建 xib

具有全屏图像视图的启动屏幕 .XIB