为 SwiftUI Apple Watch 应用实现基于页面的导航

2023-11-24

我正在 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(使用前将#替换为@)

为 SwiftUI Apple Watch 应用实现基于页面的导航 的相关文章

随机推荐

  • Windows Azure MessageLockLostException

    我在使用 Azure 消息总线队列时遇到问题 我有MessageLockLostException抛出和请求操作未在指定的超时 00 01 10 内完成 分配给此操作的时间可能是较长超时的一部分 我已将队列设置为ReceiveMode Pe
  • 为什么 C# 限制可以声明为 const 的类型集?

    编译错误CS0283表示只有基本 POD 类型 以及字符串 枚举和空引用 可以声明为const 有人对这种限制的基本原理有理论吗 例如 如果能够声明其他类型的 const 值 例如 IntPtr 那就太好了 我相信这个概念const实际上是
  • 定义渐变/形状/角的 XML 父样式

    如何在 XML 中定义可轻松重用的基本形状 或渐变或角 我有十几个左右的可绘制渐变 除了开始和结束颜色之外 它们都是相同的 我希望在其他地方定义相同的内容 并为每个不同的渐变创建一个仅定义开始和结束颜色的 XML 文件 那可能吗 这是基础
  • Python中反引号字符的含义

    我刚刚开始使用 python 有人可以解释以下代码片段的第 2 行吗 我不明白 num 少量 我尝试用单个勾号替换反引号字符 但随后它就破裂了 只要对该行进行详细解释就太好了 loop count 1000000 irn join num
  • 在单个操作上启用多个 HTTP 方法?

    我有一个操作合同 如下 我想允许对其进行 GET 和 POST 请求 我怎样才能告诉WCF接受单个OperationContract的两种类型的请求 OperationContract WebInvoke Method POST BodyS
  • 允许对 web.config 中的单个文件夹进行匿名身份验证吗?

    场景如下 我有一个使用自定义身份验证和成员资格提供程序的 Asp Net 应用程序 但我们需要允许完全匿名访问 即 应用程序中的特定文件夹 在IIS管理器中 您可以设置文件夹的身份验证模式 但设置保存在C Windows System32
  • 验证 ASP.NET MVC 中的字符串数组

    我使用 ASP NET MVC 如何验证视图模型中的字符串数组 因为 Required 属性不适用于字符串数组 DisplayName Content Name Required ErrorMessage Content name is r
  • 请求的资源上不存在“Access-Control-Allow-Origin”标头 + 响应的 HTTP 状态代码为 401

    XMLHttpRequest 无法加载http 192 168 1 253 8080 不 请求中存在 Access Control Allow Origin 标头 资源 起源 http 本地主机 4200 因此不允许 使用权 响应的 HTT
  • 如何在使用 bash 脚本初始化的 java 应用程序中捕获信号

    我使用以下代码在 java 中捕获 INT 信号 Signal handle new Signal INT new SignalHandler public void handle Signal sig log warn Received
  • 如何以编程方式关闭 Android Spinner 下拉列表

    我有一个场景 我在我的应用程序中使用微调器 制作的微调器下拉列表可以使用 performclick 方法直接打开 下拉列表打开 有没有一种方法可以自动关闭它或自动单击下拉列表中的项目 以便关闭下拉列表 Borg8 的答案是唯一有效的解决方案
  • 如何将 Windows 身份验证和 JWT 与 .Net Core 2.1 结合起来

    我尝试将 Windows 身份验证和 JWT 与 NET Core 2 1 一起使用 我有以下身份验证启动设置 services AddAuthentication options gt options DefaultAuthenticat
  • Flash中的循环缓冲区

    我需要将不同长度的项目存储在闪存芯片的循环队列中 每个项目都有其封装 这样我就可以弄清楚它有多大以及下一个项目从哪里开始 当缓冲区中有足够的项目时 它将换行到开头 在闪存芯片中存储循环队列的好方法是什么 我可能想存储数以万计的物品 因此 从
  • 如何配置xampp发送电子邮件

    我知道这是网站上的其他地方 但由于某种原因 我在这里找到的答案仍然没有帮助 在尝试了一整天不同的事情后 我仍然无法让它工作 我的目标是将确认码发送到用户输入的电子邮件中 我只了解少量的 PHP 并遵循了登录 注册系统的教程 但我相当确定 p
  • 使表格单元格中的链接填充整个行高

    我有一个数据表 每个单元格都是一个链接 我想允许用户单击表格单元格中的任意位置并让他们点击链接 有时表格单元格不止一行 但并非总是如此 我使用 td a display block 来获取覆盖大部分单元格的链接 当一行中的一个单元格为两行而
  • 为什么子类已经重写了父类的静态方法?

    当静态方法在子类中被重写时 我对静态方法的行为感到困惑 下面是代码 public class SuperClass public static void staticMethod System out println SuperClass
  • 从 LightGBM 模型访问树和节点

    在sci kit learn中 可以访问整个树结构 即树的每个节点 这允许探索树的每个分割所使用的属性以及用于测试的值 The binary tree structure has 5 nodes and has the following
  • 如果 [super init] 返回 nil 该怎么办?

    以下面代码为例 id init self super init if self code return self 我不希望 nil 向上传播调用层次结构 我最初的想法是在 self 为零的情况下抛出异常 创建一个还原点并中止执行 更好的想法
  • 如何通过 Apps 脚本在 Google 表格中“清除格式”

    在我的 Google 表格中 我目前通过手动访问来删除格式Format gt Clear Formatting 如何以编程方式 通过 Apps 脚本 清除 Google 表格的行和 或列中可能存在的任何 所有格式 澄清 我知道文本类具有格式
  • F# 库中是否存在 tee 函数?

    或者在 FSharpx 中 let tee sideEffect fun x gt do sideEffect x x 用法可能是这样的 f gt gt tee printfn F returned A gt gt g gt gt h 或者
  • 为 SwiftUI Apple Watch 应用实现基于页面的导航

    我正在 SwiftUI 中构建一个 Apple Watch 应用程序 并希望实现基于页面的导航 以便当用户在主屏幕上向左滑动时 他们会被带到另一个视图 我了解如何使用 NavigationLink 让用户从一个屏幕移动到另一个屏幕 但不知道