运行时错误(警告?):无法创建 0x88 图像槽,有人有线索吗?

问题描述 投票:0回答:2

我正在 Storyboard/Swift (XCode 14.2) 中编写一个应用程序。当我在 iPhone (14 pro 16.3.1) 或 iPhone 模拟器 (16.2) 上运行该应用程序时,不会出现错误。但是当我在 iPad 模拟器中测试我的应用程序时(尝试了专业版、空气版和普通版):

[API]创建0x88镜像槽失败(alpha=1 Wide=0)(client=0x29bd01dc)[0x5(os/kern)失败]

我使用 UICollectionView 作为菜单,当我按下相应的图块/按钮时,错误会打印在调试区域中。该应用程序没有中断,看起来工作正常。

我尝试用 Google 搜索该问题并搜索 StackOverflow,但它没有给我足够的线索来告诉我该怎么做。 Google/Stack 几乎没有结果。

我对 Swift 还很陌生。我使用单一尺寸的应用程序图标(1024pt),而不是所有那些经过调整的图标。每个图像均以通用模式、1x、2x 和 3x 给出。 (使用 Asset Catalog Creator Pro 制作)

有人能指出我的错误吗?

ios uicollectionview storyboard asset-catalog
2个回答
0
投票

使用 NavigationStack 时,我在 SwiftUI 中收到相同的消息错误,并且仅在 iPad 上收到此消息。就我而言,当我为主导航视图设置标题时,会出现错误。我尝试了下面的代码:

struct ContentView: View {
    var body: some View {
        NavigationStack {
            VStack {
                Text("Main View")
                NavigationLink(destination: secondView()) {
                    Text("Go to the Second View")
                }
            }
            .navigationTitle("Title 1") // <- This causes the error on iPad!
            .navigationBarTitleDisplayMode(.inline)
        }
    }
}

struct secondView: View {
    var body: some View {
        Text("Second View")
            .navigationTitle("Title 2")
    }
}

当我从 ContentView 中删除 navigationTitle 时,一切工作正常!我不知道这是一个错误还是我遗漏了一些东西。我尝试使用 navigationBarTitle 而不是 navigationTitle 但出现了相同的错误消息!但作为我的情况的解决方法,将标题设置为主视图,我这样做了:

struct ContentView: View {
    var body: some View {
        NavigationStack {
            VStack {
                HStack {
                    Text("Title 1")
                        .padding()
                }
                VStack {
                    Text("Main View")
                    NavigationLink(destination: secondView()) {
                        Text("Go to the Second View")
                    }
                }
                .frame(maxWidth: .infinity,maxHeight: .infinity)
            }
        }
    }
}

struct secondView: View {
    var body: some View {
        Text("Second View")
            .navigationTitle("Title 2")
    }
}


-1
投票

虽然 Op 使用 Storyboard,但我在 NavigationStack 中遇到了相同的运行时错误。我写下了出现此错误的原因,因此无论谁遇到此错误都可以从我的原因中获得帮助;

我在开头放置了一个新视图,然后忘记从旧的第一个视图中删除NavigationStack(在我的例子中,它是一个显示Tabview的视图)。因此,一个导航堆栈位于另一个导航堆栈中就是问题所在。

我希望这对其他人有帮助。我刚刚花了几个小时才找到原因。

以我个人的经验来看,Swift 编译器并不是一个成熟的编译器,无法在 SwiftIU 上提供有用的原因。

© www.soinside.com 2019 - 2024. All rights reserved.