首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么swiftUI给我正确的代码错误?

为什么swiftUI给我正确的代码错误?
EN

Stack Overflow用户
提问于 2020-04-02 08:01:30
回答 3查看 1.9K关注 0票数 1

当我知道代码是正确的时,SwiftUI给了我错误,并且拒绝构建。例如,以下代码在15分钟前一直在工作。我试图将List包装在JumpToBookView中,并在列表下面添加一个Button,然后开始在BookRow中的Image上抛出错误。在我添加ButtonVStack之前,这段代码是在预览中编译和显示的,在删除它们之后,它仍然不允许我预览视图。我已经尝试过清理build文件夹,删除派生数据,并退出应用程序,所有这些都是同时进行的,但仍然一无所获。没有预览,该项目将不会编译。作为背景,该项目主要是UIKit,但我正在尝试将SwiftUI合并到其中,尽管这并不重要,因为这个视图在任何地方都不会被调用。我目前正在运行最新版本的Xcode,并附加了我的代码和错误的屏幕截图。对于搜索,我也将粘贴错误在这里。Missing argument label 'imageName:' in callValue of type 'Image' has no member 'resizable'Cannot infer contextual base in reference to member 'fit'

代码语言:javascript
复制
import SwiftUI

struct JumpToBookView: View {
    var body: some View {
        List {
            BookRow(selected: true)
            BookRow(selected: true)
            BookRow(selected: true)
            BookRow(selected: true)
            BookRow(selected: true)
            BookRow(selected: true)
        }
    }
    
    func testJump()
    {
        print("test")
    }
}

struct BookRow: View {
    var selected: Bool
    var body: some View {
        ZStack {
            Rectangle()
                .fill(Color(RaiseColor.red))
            HStack{
                Text("1.2 What is an Ecosystem?")
                    .font(.title)
                    .fontWeight(.bold)
                    .foregroundColor(Color(.white))
                Spacer()
                Image(selected ? "pauseButton" : "playButton")
                    .resizable()
                    .aspectRatio(1, contentMode: .fit)
                    .frame(maxWidth: 25)
                    .foregroundColor(Color(.white))
            }
            .padding(.all)
        }
    }
}


struct JumpToBookView_Previews: PreviewProvider {
    static var previews: some View {
        JumpToBookView()
    }
}

编辑:我只想补充一下,它以前也使用过RaiseColor.red,所以这种自定义颜色不应该有任何问题。

EN

Stack Overflow用户

回答已采纳

发布于 2020-04-06 13:07:08

问题是,我的代码库之前定义了一个名为Image的类,所以SwiftUI在找出我试图引用的Image时遇到了问题。在不对代码库进行其他更改的情况下,通过指定SwiftUI作为Image的父级解决了这个问题,这可以通过以下SwiftUI.Image(selected ? "pauseButton" : "playButton")"来完成。这解决了我所遇到的所有问题,但最好的做法是重构您的代码库,以避免与SwiftUI类和结构有冲突的名称。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60986811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档