我如何基于Swift UI中的不同类型标识符返回不同的View对象?

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

如何基于Swift UI中的不同类型标识符返回不同的View对象?

视图是SwiftUI中的协议,不能用作返回值。

func navigationAction(item: Item) -> ?? {

    switch item.type {
    case .text:
        return Page()
    default:
       return TextPage()
    }
}
ios
1个回答
0
投票

您可以使用AnyView封装您要返回的视图。

switch item.type { case .text: return AnyView(Page()) default: return AnyView(TextPage()) }

此外,请确保您的函数指定了返回类型。在这种情况下,AnyView。

如果您要在单独的swiftui视图中返回不同的视图,则只需将switch语句包装在group标记中,然后删除return命令。

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