SwiftUI PresentationButton无法构建-调用中参数#1的参数丢失

时间:2019-07-31 05:54:22

标签: swift swiftui

我正在尝试在SwiftUI中实现PresentationButton。我不断收到以下错误:

  

调用中的参数#1缺少参数   插入'<#Label#>,'

我正在使用Xcode 11.0 beta版。

这是我的SwiftUI文件:

import SwiftUI

struct HomeList : View {
    var body: some View {
        ScrollView(showsHorizontalIndicator: false) {
            HStack {
                ForEach(0 ..< 5/) { item in
                    PresentationButton(destination: ContentView()) {
                        CourseView()
                    }
                }
            }
        }
    }
}

#if DEBUG
struct HomeList_Previews : PreviewProvider {
    static var previews: some View {
        HomeList()
    }
}
#endif

struct CourseView : View {
    var body: some View {
        return VStack(alignment: .leading) {
            Text("Build an app with Swift UI")
                .font(.title)
                .fontWeight(.bold)
                .color(Color.white)
                .padding(20)
                .lineLimit(4)
                .frame(width: 120)

            Spacer()

            Image("Illustration1")
            }
            .background(Color("background3"))
            .cornerRadius(30)
            .frame(width: 246, height: 360)
            .shadow(color: Color("backgroundShadow3"), radius: 20, x: 0, y: 20)
    }
}

2 个答案:

答案 0 :(得分:-1)

如@kontiki所述,PresentationButton已被弃用,不再可用。

您可以使用的替代物是NavigationLink。这应该像PresentationButton一样工作。您还需要将showsHorizontalIndicator: false更改为.horizontal, showsIndicators: false)

还取出/中的ForEach(0 ..< 5/)。这可能是导致您出错的另一个原因。

struct HomeList : View {
    var body: some View {
        ScrollView(.horizontal, showsIndicators: false) {
            HStack {
                ForEach(0 ..< 5) { item in
                    NavigationLink(destination: ContentView()) {
                        CourseView()
                    }
                }
            }
        }
    }
}

如果进行这些更改,则应继续进行无错误操作。祝您课程顺利:https://designcode.io/swiftui-course,我很喜欢。我没有尝试插入它,只是可以看到他正在遵循该教程。

答案 1 :(得分:-1)

在我将NavigationView与NavigationLink结合使用后,它确实起作用了

swiftUI PresentaionLink does not work second time

这对我有用