首页 > 解决方案 > 在 SwiftUI 中跟随导航链接后底部的灰色条

问题描述

在此处输入图像描述

你好。我正在学习 SwiftUI,但遇到了一个烦人的问题。

我正在尝试做的事情:编写一个程序来执行 Apple 软件不执行的各种与时间相关的事情,例如,在 macOS/iOS/等未内置的日历中给出日期和时间。在各种日历/语言环境/位置创建运行时钟列表后,我决定利用 EventKit 和 EventKitUI 将 Calendar.app 中的事件带入我的应用程序。我成功地让 EventKit 报告特定日期的事件,并保持 UI 易于理解,我添加了一个选项卡栏,并在单独的选项卡中包含时钟和事件,每个选项卡都有自己的导航堆栈。现在我想让使用 EventKitUI 来查看和编辑事件的详细信息成为可能。Apple 在 SwiftUI 中没有任何东西可以直接处理 EKEvent 对象,所以我为 EKEventViewController 创建了一个包装器,它确实有效。但是有一个奇怪的副作用。在选项卡栏上方,您会注意到一个浅灰色矩形。Xcode 将这件事描述为:

<_UIVisualEffectSubview: 0x11c5c0b80; frame = (0 0; 770 100); clipsToBounds = YES; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6000003848a0>>

它还在标签栏后面延伸。一旦它出现,即使我返回主要事件视图,它也会一直存在。它仅限于事件选项卡;它永远不会出现在时钟选项卡中。

导航链接的相关代码(在我看来,这似乎尽可能简单且没有问题):

            NavigationLink(destination: ASAEKEventView(event: event as! EKEvent)) {
                ASAEventCell(event: event, primaryRow: self.primaryRow, secondaryRow: self.secondaryRow, timeWidth: self.timeWidth, timeFontSize: self.timeFontSize, eventsViewShouldShowSecondaryDates: self.eventsViewShouldShowSecondaryDates)
            }

我的问题:我怎样才能摆脱浅灰色的矩形?提前感谢任何人都可以提供的任何帮助。

标签: iosswiftmacosswiftuieventkit

解决方案


推荐阅读