gpt4 book ai didi

ios - 位于 IB 中可见但在运行时中不可见的单独包中的资源

转载 作者:可可西里 更新时间:2023-11-01 04:44:48 29 4
gpt4 key购买 nike

我有一个应用程序,其中大部分图像资源都存储在单独的资源包中(这样做是有正当理由的)。这个资源包与主应用程序包一起添加到项目中,当我在 Interface Builder 中设计我的 NIB 时,所有这些图像在 IB 中都是可见的(即它们出现在我的 UIImageView 的下拉列表中,并且它们正确显示在我的 UI 中).但是,当我在模拟器中运行我的应用程序时,所有这些图像都丢失了。除了主应用程序包之外,有没有办法告诉 UIKit 在这个附加资源包中查找这些图像?

我可以在 viewDidLoad 中手动加载这些图像没问题,但我正在寻找一种方法来使用 Interface Builder 来更轻松地更改这些 NIB 的设计/外观。

更新:虽然该 bundle 中的图像文件就在 IB 的下拉列表中可用,但它们不会在运行时加载。但是,如果我像这样在 IB 中为他们的名字加上包名称前缀:

Sceenshot

然后它们将在运行时正确加载,但 IB 会将它们显示为蓝色大问号。

现在的问题是 - 如何在 IB(设计时)和运行时兼顾两全其美并正确显示图像。

最佳答案

我遇到了同样的问题,这可能是由于 Xcode 在组装包目标时编译图像的方式所致。由于 iOS 不完全支持捆绑目标,因此您必须将它们创建为 Mac OS X 目标。这留下了一个有问题的build设置,即 COMBINE_HIDPI_ARTWORK,它将被设置为 YES。这会导致您的普通变体和 @2x 变体被组合到您的包中的单个 tiff 文件中。生成的文件在 Mac OS 上受支持,但在 iOS 上不受支持。

(感谢 this answer 的提示)。

要解决此问题,请在文件导航器中选择您的 bundle 创建项目,选择您的 bundle 目标,切换到build设置选项卡,然后搜索上述设置。然后选择整行并点击 删除 或将其设置为 NO

到那时,您应该能够在 IB 和代码中使用您的图像,而无需执行任何特殊操作(除了确保 .xib 和图像在同一个包中)。

关于ios - 位于 IB 中可见但在运行时中不可见的单独包中的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7005887/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com