[英]Why does swiftUI give me errors for correct code?
當我知道代碼是正確的時,SwiftUI 一直給我錯誤並拒絕構建。 例如,以下代碼在 15 分鍾前一直在工作。 我想換行List
中JumpToBookView
在VStack
並添加一個Button
列表下方,並開始了我的吐出的錯誤Image
在BookRow
。 在我添加Button
和VStack
之前,這段代碼正在編譯並顯示在預覽中,在我刪除它們之后,它仍然不會讓我預覽視圖。 我曾嘗試清理構建文件夾、刪除派生數據並退出應用程序,所有這些都同時進行,但仍然沒有。 沒有預覽,項目將無法編譯。 對於背景,該項目主要是 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
一起使用,因此該自定義顏色應該沒有任何問題。
問題最終是我的代碼庫之前定義了一個名為Image
的類,因此 SwiftUI 在確定我試圖引用哪個Image
時遇到問題。 無需對代碼庫進行其他更改,通過將 SwiftUI 指定為Image
的父級來解決此問題,這可以通過以下SwiftUI.Image(selected ? "pauseButton" : "playButton")"
。這解決了所有問題我有,但最好的辦法是重構你的代碼庫,以免與 SwiftUI 類和結構有沖突的名稱。
當我更換這個
Rectangle() .fill(Color(RaiseColor.red))
有了這個
Rectangle()
.fill(Color.red)
一切都編譯得很好......所以在那個自定義顏色中尋找錯誤。
我的問題是我將一個意圖定義枚舉命名為 Color。 我重命名了它,它再次正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.