要学习手表编程,我已经设置了一个只包含图像和表格的小测试应用程序:
该应用程序由iOS和手表模拟器执行。应用程序正确设置了图像和表格内容。
当桌子太长而无法完全放在手表屏幕上时,我希望点击桌面可以滚动桌面内容。
但是,滚动完整的观看内容,包括图像(请注意绿色磁盘已滚动一半不在视线范围内):
我需要做些什么才能将图像固定在屏幕上,同时允许桌面内容垂直滚动?
答案 0 :(得分:2)
虽然私有API支持您要执行的操作,但在watchOS 2或watchOS 3中我们无法公开该功能。
我们仅限于整个界面滚动(当其内容大于屏幕尺寸时),或整个界面根本不滚动(当其内容符合屏幕尺寸时)。
您可能想要提交要求静态组,粘性表行标题或滚动区域的功能请求。
The new WKCrownSequencer
and WKCrownDelegate
可让您与场景或特定界面对象进行交互,但无法代表整个滚动界面控制器覆盖系统的手势识别和滚动支持。
我不认为这是一种优雅的方式来实现你现在想要的东西,这将是完美的。
如果您不想等待Apple最终为您想要的东西提供适当的支持,这里有一些选项可以帮助您从不同的方向来解决这个问题。
尝试用拣货员替换表格。选择器可以让您滚动浏览较小屏幕上的不同项目,但它显然不会看起来像一张桌子。
将表限制为固定行数,且不超过屏幕大小。您可以在皇冠滚动时更新行内容,但这将是分页效果而非滚动效果。
下拉到Core Graphics以绘制位置活动指示符或表格文本,以创建屏幕的一部分(不)滚动的错觉。
更改表格行的背景颜色,并让背景颜色作为位置活动指示符。
答案 1 :(得分:0)
在watchOS 3中,只需通过以下方式将任何对象设置为委托:
{% comment %} +++++ Max number of posts to print +++++ {% endcomment %}
{% assign limit = 4 %}
{% comment %} +++++ Select authors posts +++++{% endcomment %}
{% assign authorsPosts = site.posts | where: "author", page.author %}
{% comment %} +++++ If author's Posts number is less than limit, we change the limit +++++ {% endcomment %}
{% if limit >= authorsPosts.size %}
{% comment %} +++++ Number of "listable" posts is author's posts number less 1 (the one actually printed) +++++ {% endcomment %}
{% assign limit = authorsPosts.size | minus: 1 %}
{% endif %}
{% assign postsCounter = 0 %}
{% for post in authorsPosts %}
{% if page.author == post.author and page.title != post.title %}
{% assign postsCounter = postsCounter | plus: 1 %}
<h3>{{ post.title }}</h3>
{% comment %} +++++ Prints hr only if we are not printing the last post +++++ {% endcomment %}
{% if postsCounter < limit %}<hr>{% endif %}
{% comment %} +++++ Exit for loop if we reached the limit +++++ {% endcomment %}
{% if postsCounter == limit %}{% break %}{% endif %}
{% endif %}
{% endfor %}
然后通过实现:
回读该值let crownSequencer = WKExtension.shared().rootInterfaceController!.crownSequencer
crownSequencer.delegate = self
crownSequencer.focus()