Ios WKInterfaceTable ScrollToRowatinex:滚动到错误的坐标

Ios WKInterfaceTable ScrollToRowatinex:滚动到错误的坐标,ios,watchkit,apple-watch,watchos-2,Ios,Watchkit,Apple Watch,Watchos 2,我有一个带有几种不同行类型的WKinterfaceTable。每行应为“全屏”,即每行的集装箱组具有“相对于集装箱:1”的高度 我实现了一个简单的调用来“重新居中”行: -(void)table:(WKInterfaceTable*)table didSelectRowAtIndex:(NSInteger)rowIndex { [表ScrollToRowatinex:rowIndex]; } 这是可行的,但仅当我从点击行上方的位置滚动时。当我向上滚动时,它会“超调”几个像素。以下是一些图片来

我有一个带有几种不同行类型的WKinterfaceTable。每行应为“全屏”,即每行的集装箱组具有“相对于集装箱:1”的高度

我实现了一个简单的调用来“重新居中”行:


-(void)table:(WKInterfaceTable*)table didSelectRowAtIndex:(NSInteger)rowIndex
{
[表ScrollToRowatinex:rowIndex];
}

这是可行的,但仅当我从点击行上方的位置滚动时。当我向上滚动时,它会“超调”几个像素。以下是一些图片来说明我的意思:

这是界面激活后的第一行:

如果点击“下一步”,它会滚动到第二行:

我无法阻止用户在行之间手动滚动,因此有时您可能会遇到以下情况:

点击下一行可以使视图正确居中(如图2所示),但点击上一行会导致:

再次点击同一行,然后正确地向下滚动几个像素,我们回到了图片1


为什么
ScrollToRowatinex:
仅在一个方向上获得错误的偏移?以前有没有其他人遇到过这个问题?有什么建议可以解决吗?

我不太清楚你想做什么。您是否有三行(或更多),第一行有循环编号,第二行有选择器和按钮,第三行有另一个循环编号显示?有没有什么原因使你不只是有两行,这样它们就不会像你的第二张图片那样从屏幕上滚下来啊,重读,我想我更明白了。如果你想要的话,为什么不一次只显示一个屏幕呢?为什么支持滚动呢?听起来它无论如何都不会给出正确的行为。@Cobra我不认为有办法禁用WKinterfaceTable中的滚动,至少我没有注意到?最初我计划将其实现为一系列页面,但事实证明,您无法显示页面界面,因此,剩下的唯一选择是垂直滚动视图。在没有分页控制器的情况下,您可以通过拥有多个对象并隐藏/显示它们,或者拥有显示对象来获得类似的行为。如果没有这些对象,您可以在更改页面时更新其中的内容。我不太清楚您想做什么。您是否有三行(或更多),第一行有循环编号,第二行有选择器和按钮,第三行有另一个循环编号显示?有没有什么原因使你不只是有两行,这样它们就不会像你的第二张图片那样从屏幕上滚下来啊,重读,我想我更明白了。如果你想要的话,为什么不一次只显示一个屏幕呢?为什么支持滚动呢?听起来它无论如何都不会给出正确的行为。@Cobra我不认为有办法禁用WKinterfaceTable中的滚动,至少我没有注意到?最初我计划将其实现为一系列页面,但事实证明,您无法显示页面界面,因此,剩下的唯一选项是垂直滚动视图。在没有分页控制器的情况下,您可以通过拥有多个对象并隐藏/显示它们,或者拥有显示对象来获得类似的行为。如果没有这些对象,您可以在更改页面时更新其中的内容。