【问题标题】:Xcode 6 Beta 6 CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000Xcode 6 Beta 6 CUICatalog:提供的资产名称无效:(null),或比例因子无效:2.000000
【发布时间】:2014-10-26 02:18:22
【问题描述】:

我收到以下错误:

CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000
Could not load the "(null)" image referenced from a nib in the bundle with identifier "com.example.project"

由于我在 Interface Builder 中为选项卡栏项设置了“选定图像”,因此出现错误:

我已将文件添加到 Xcode 中:

设置写入故事板文件:

<tabBarItem key="tabBarItem" title="..." image="config.png" selectedImage="config_filled.png" id="5Wh-7m-Y4H"/>

我正在使用 Xcode 6 Beta 6

我知道Error: CUICatalog: Invalid asset name supplied: (null), or invalid scale factor : 2.000000,但这对我没有帮助。

什么可能导致资产名称为空?我已经重新输入了图像名称,我也尝试过清理和重建,但错误仍然存​​在(并且没有图像出现)

【问题讨论】:

  • 我得到了完全相同的错误,并且没有提到无效的比例因子。我正在使用提供所有图像尺寸的资产目录。这似乎是一个明确的错误。我的最终解决方案是简单地排除所选图像,因为我认为它不值得进一步追求。
  • stackoverflow.com/questions/12672603/…复制答案在那里。
  • @GabrielCartier 请仔细阅读我的问题,我在提问时已经检查过了。

标签: ios xcode


【解决方案1】:

对我来说,解决方案是检查故事中的所有UIImageViews,有时如果您删除UIImageview 并使用Cmd+z 恢复它们,UIImageView 中的图像将变为"Unknown"。我认为这是一个错误,因为您仍然可以在情节提要中看到图像。

解决方法:在storyboard的UIImageView中再次选择图片

【讨论】:

  • 谢谢!当我检查 UIImageView 时,它显示为 Unknown 现在我已删除并且工作正常。
【解决方案2】:

我找到的解决方法是将Images.xcassets中tabBar图片的入口设置为Render As: Template Image

这解决了错误和警告。

另一个问题的功劳归于this answer

【讨论】:

  • 这听起来合乎逻辑。我会试试的。
【解决方案3】:

在界面生成器中为标签栏项目保留“选定图像”应该会删除警告消息。

【讨论】:

  • 但是我还是没有选中的图片?
  • 这里选择的图像不知何故不适用于我的应用程序。使其工作的唯一方法是使用“用户定义的运行时属性”,就像上面一样。
  • 所以请在上面发表评论。这个答案本身毫无用处。
  • 恐怕没有足够的声誉来做到这一点。 :(
【解决方案4】:

由于缺少代码完成,我的快速解决方法是这样的

    let secondItem = tabBarController.tabBar.items![1] as UITabBarItem
    secondItem.selectedImage = UIImage(named: "home-selected")

这是放在 AppDelegate 的 didFinishLaunchingWithOptions 中的。

【讨论】:

    【解决方案5】:

    在 Xcode 6.1 中,Attributes Inspector 中的某些属性不起作用,但您可以使用“用户定义的运行时属性”来解决此问题。

    我是这样解决的:

    【讨论】:

    • 我已经尝试过这个解决方案,在我的特殊情况下,它可以工作。谢谢,@mistyhua。
    • 完美运行。我将图像保存在 .xcassets 文件中。
    • 刚刚注意到,错误消息仍然出现,但图像现在可见。我最终以编程方式完成。
    • 不要在“属性检查器”中设置“选定图像”。 @丹尼尔
    【解决方案6】:

    我终于在 AppDelegate 中使用了这个讨厌的代码:

    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
    ((UITabBarItem *)tabBarController.tabBar.items[0]).selectedImage = [UIImage imageNamed:@"light_filled"];
    ((UITabBarItem *)tabBarController.tabBar.items[1]).selectedImage = [UIImage imageNamed:@"umbrella_filled"];
    ((UITabBarItem *)tabBarController.tabBar.items[2]).selectedImage = [UIImage imageNamed:@"config_filled"];
    

    希望 Apple 能尽快修复此错误。

    【讨论】:

    • @RudolfAdamkovic 是的,我知道。奇怪的是苹果没有注意到/修复这个错误。
    • 整个事情几乎没有工作。就在我实施您的解决方法时,Swift 的代码完成停止工作。没有评论。
    • 是的,我发现的唯一解决方案是以编程方式设置图像并删除我的故事板中每个 tabbaritem 的 selectedImage 和 Image 属性
    【解决方案7】:

    尝试去掉“.png”扩展名,这在过去可以解决某些 IB 图像加载问题。

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 2023-03-13
      • 2014-03-24
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      相关资源
      最近更新 更多