添加下一页segue后,WatchKit接口控制器滚动太多

时间:2015-03-10 21:37:19

标签: objective-c storyboard interface-builder watchkit apple-watch

专家!

今天开始为我的CelebrateMore构建Apple Watch版本!应用程序,无法解决一个问题。我有2个接口控制器 - 基于页面的类型。一旦我将segue设置为从第一页到第二页的“下一页”,我的第一个界面控制器开始滚动的次数比之前多得多。

故事板截图: Screenshot from Storyboard:

滚动期间模拟器的屏幕截图:

Scrolling issue

模拟器的屏幕截图,如果我删除下一页segue并滚动:

enter image description here

从滚动条已经可以看出,如果使用“下一页”,则会有很多空内容。有没有人有一些想法,如何解决这个问题,如何避免“长时间内容滚动”问题?

3 个答案:

答案 0 :(得分:8)

我几个小时都在努力解决同样的问题,直到我决定放弃一段时间并专注于在运行时用实际数据填充标签。在我将一些代码添加到WKInterfaceController(void)awakeWithContext:(id)context {}和/或(void)willActivate {})的主要初始化方法后,这个滚动问题神奇地消失了。尝试使用上述两种方法之一在代码中设置接口中的一个或所有标签的文本,并查看滚动问题是否得到修复:

[self.label setText:@"Some text.."];

它适用于我的情况。

答案 1 :(得分:1)

由于声誉低,我无法投票:设置标签文字的解决方案也适用于我。我先设置一个空文本,然后加载数据并在请求成功后再次更新标签。它可以正常工作并计算滚动视图的高度。

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    //enable correct scroll height
    self.titleLabel.setText("")

    self.loadData()
}

答案 2 :(得分:0)

我用不同的方式来解决它。

首先在InterfaceController中放置一个组,并为其指定固定高度,然后将其他组件放入组中。

要使组占据全屏,其38mm的高度应设置为约142点,42mm的高度应设置为约165点。您可以使用值旁边的加号为2个模型输入这些值。