为了学习 watch 编程,我建立了一个仅包含图像和表格的小测试应用程序:

storyboard - 苹果 watch : How to scroll only table contents,而不是整个 watch 的用户界面?-LMLPHP

该应用程序由iOS和观看模拟器执行。图片和表格内容由应用正确设置。

当表太长而无法完全放在 watch 屏幕上时,我希望点击表将允许它滚动表内容。
但是,完整的 watch 内容将被滚动,包括图像(请注意,绿色磁盘已经滚动了一半,看不见了):
storyboard - 苹果 watch : How to scroll only table contents,而不是整个 watch 的用户界面?-LMLPHP

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

最佳答案

虽然私有(private)API支持您要执行的操作,但该功能在watchOS 2或watchOS 3中并未公开提供给我们。
我们限于整个界面滚动(当其内容大于屏幕尺寸时),或者整个界面根本不滚动(当其内容适合屏幕尺寸时)。
您可能要提交功能请求,以获取静态组,粘性表行标题或滚动区域。
快要结束了...
The new WKCrownSequencer and WKCrownDelegate 可以让您与场景或特定的界面对象进行交互,但是无法替代整个滚动界面 Controller 来覆盖系统的手势识别和滚动支持。
我认为没有一种优雅的方法可以实现您现在想要的东西,而这是完美的。
如果您决心要破解或重新考虑这一点...
如果您不想等到Apple最终为您想要的东西提供适当的支持,则可以使用以下几种方法来帮助您从另一个方向解决问题。

  • 尝试用选择器替换表。选择器可以让您在较小的屏幕上滚动浏览不同的项目,但显然它看起来并不像 table 。
  • 将您的表限制为不超过屏幕大小的固定行数。您可以在表冠滚动时更新行内容,但这将是分页效果而不是滚动效果。
  • 下拉至“核心图形”以绘制位置事件指示器,或通过表格文本来创建幻觉,即屏幕的一部分正在(不)滚动。
  • 更改表格行的背景色,并让背景色用作位置事件指示符。
  • 关于storyboard - 苹果 watch : How to scroll only table contents,而不是整个 watch 的用户界面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39120805/

    10-13 03:55