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

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,所以这种自定义颜色不应该有任何问题。
发布于 2020-04-06 13:07:08
问题是,我的代码库之前定义了一个名为Image的类,所以SwiftUI在找出我试图引用的Image时遇到了问题。在不对代码库进行其他更改的情况下,通过指定SwiftUI作为Image的父级解决了这个问题,这可以通过以下SwiftUI.Image(selected ? "pauseButton" : "playButton")"来完成。这解决了我所遇到的所有问题,但最好的做法是重构您的代码库,以避免与SwiftUI类和结构有冲突的名称。
发布于 2020-04-02 08:10:04
当我替换这个的时候
矩形().fill(颜色(RaiseColor.red))
有了这个
Rectangle()
.fill(Color.red)都整理得很好..。因此,请查找自定义颜色中的错误。
发布于 2020-12-27 21:04:32
我的问题是,我给颜色命名了一个意图定义枚举。我把它改名了,它又恢复正常了。
https://stackoverflow.com/questions/60986811
复制相似问题