我正在 SwiftUI 中构建一个 Apple Watch 应用程序,并希望实现基于页面的导航,以便当用户在主屏幕上向左滑动时,他们会被带到另一个视图。
我了解如何使用 NavigationLink 让用户从一个屏幕移动到另一个屏幕,但不知道如何让用户通过向左或向右滑动从一个屏幕导航到另一个屏幕。
有谁知道如何做到这一点?
以下是如何使用 SwiftUI 为 watchOS 实现基于页面的导航的指南。该描述基于使用 watchOS 进行黑客攻击,SwiftUI 版本:
首先,创建一个新的 SwiftUI 视图,例如名为 CounterView。
其次,创建 WKHostingController 的子类以显示新的 SwiftUI 视图。只需复制 HostingController.swift 中已有的控制器并将其名称更改为 CounterHostingController 即可。文件 HostingController.swift 然后包含这两个控制器:
class HostingController: WKHostingController<ContentView> {
override var body: ContentView {
return ContentView()
}
}
class CounterHostingController: WKHostingController<CounterView> {
override var body: CounterView {
return CounterView()
}
}
第三,通过打开文件 Interface.storyboard 并单击 Xcode 窗口右上角的 + 按钮,创建一个故事板场景来存储新创建的托管控制器。在搜索框中输入“托管控制器”,拖出新的托管控制器并将其移动到现有托管控制器旁边。在身份检查器中(单击 Xcode 窗口右侧顶部第二个菜单中的第四项,该项目显示一个左上角有图片且周围浮动文本的文档),将 Class 更改为“ CounterHostingController”,然后选中“从目标继承模块”框。
第四,为了将这两个屏幕连接为同一用户界面的页面,在情节提要中按 Ctrl 键并用鼠标单击原始主机控制器并按住按键,同时将鼠标指针拖动到新控制器上,释放鼠标后鼠标按钮,选择关系转场的“下一页”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)