繁体   English   中英

SwiftUI - NavigationLink 内部的 NavigationLink 错误

[英]SwiftUI - NavigationLink inside of NavigationLink Bug

我试图在我的 NavigationLink 内部创建一个 NavigationLink 列表作为 DetailView。 可悲的是,我遇到了奇怪的 UI 错误。 这是代码:

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            List {
                NavigationLink("label", destination: DetailView())
            }
        }
    }
}

struct DetailView : View {
    var body: some View {
        NavigationView {
            List {
                NavigationLink("label", destination: Text("detail"))
            }
        }
    }
}

这是错误消息:

2020-01-20 00:30:04.302351+0100 Test[14029:1128128] [Assert] UIScrollView does not support multiple observers implementing
_observeScrollView:willEndDraggingWithVelocity:targetContentOffset:unclampedOriginalTarget:.
Scroll view <_TtC7SwiftUIP33_BFB370BA5F1BADDC9D83021565761A4925UpdateCoalescingTableView:
0x7fbdc3865c00; baseClass = UITableView; frame = (0 0; 375 667); clipsToBounds = YES;
autoresize = W+H; gestureRecognizers = <NSArray: 0x600002fb4f30>;
layer = <CALayer: 0x6000021592c0>; contentOffset: {0, -212}; contentSize: {375, 44.5}; adjustedContentInset: {212, 0, 0, 0}; dataSource:
<_TtGC7SwiftUIP10$10c5cea4419ListCoreCoordinatorGVS_20SystemListDataSourceOs5Never_GOS_19SelectionManagerBoxS2___:
0x7fbdc25a4470>>, new observer <UINavigationController:
0x7fbdc3875a00>, removing old observer <UINavigationController: 0x7fbdc3840c00>

这是UI错误:

图像 UI 错误

您不需要DetailView另一个NavigationView - 它已经在ContentViewNavigationView中。 您可以阅读本教程,在那里回答了这个问题。 你的代码应该是这样的:

struct NavigationLinks: View {
    var body: some View {
        NavigationView {
            List {
                NavigationLink("label", destination: DetailViewWithNavLink())
            }
        }
    }
}

struct DetailViewWithNavLink : View {
    var body: some View {
        List {
            NavigationLink("label", destination: Text("detail")
                .navigationBarTitle("Text from item in Detail View List", displayMode: .inline))
        }
    .navigationBarTitle("Detail view")
    }
}

你会看到:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM