Apple手表:如何仅滚动表格内容,而不是整个手表用户界面?

Rei*_*ner 6 storyboard apple-watch watchkit wkinterfacetable watchos

为了学习手表编程,我设置了一个只包含图像和表格的小测试应用程序:

在此输入图像描述

该应用程序由iOS和手表模拟器执行.应用程序正确设置了图像和表格内容.

当桌子太长而无法完全放在手表屏幕上时,我希望点击桌子可以让它滚动桌面内容.但是,滚动完整的手表内容,包括图像(请注意绿色磁盘已滚动一半不在视线范围内):
在此输入图像描述

我该怎么做才能将图像固定在屏幕上,同时允许表格内容垂直滚动?

小智 3

虽然私有 API 支持您想要执行的操作,但该功能在 watchOS 2 或 watchOS 3 中均无法公开提供给我们。

我们仅限于整个界面滚动(当其内容大于屏幕尺寸时),或整个界面根本不滚动(当其内容适合屏幕尺寸时)。

您可能想要提交功能请求,要求静态组、粘性表行标题或滚动区域。

什么接近...

新的WKCrownSequencerandWKCrownDelegate可以让您与场景或特定界面对象进行交互,但无法代表整个滚动界面控制器覆盖系统的手势识别和滚动支持。

我不认为有一种优雅的方式来实现你现在想要的东西,那会完美地工作。

如果你决心破解或重新思考这个......

如果您不想等待 Apple 最终为您想要的东西提供适当的支持,这里有一些选项可能会帮助您从不同的方向解决这个问题。

  • 尝试用选择器替换桌子。选择器可以让您在较小的屏幕上滚动浏览不同的项目,但它显然不会看起来像一个表格

  • 将表格的行数限制为不超过屏幕大小的固定行数。您可以在表冠滚动时更新行内容,但这将是分页效果而不是滚动效果

  • 下拉至“核心图形”以绘制位置活动指示器,或绘制表格文本以创建屏幕的一部分正在(不)滚动的错觉。

  • 更改表格行的背景颜色,并让背景颜色充当位置活动指示器。