2013-05-22 44 views
3

在我的应用程序中有一个包含许多选项卡的视图。我想把重点放在最后一个。我可以设置活动标签this.setActiveItem(10),但我无法滚动(以编程方式)tabbar到最后一个项目。显示第10个选项卡的内容,但是第109个选项卡隐藏,因此用户可能会感到困惑。Sencha Touch - 滚动到TabBar上的最后一个选项卡

非常感谢。

回答

3

一个非常好的问题,许多人可能会觉得这很有用。

首先,需要tabBar的实例,因此我们可以获得activeTabtabPanel。然后我们可以很容易地获得标签项目的偏移量。在这里,标签项目的意思不是容纳标签内容的容器,而是指示器可以放置在顶部或底部的标签指示器。所以我们只需要活动标签项tabBar的偏移量不是容器。

this.getMyTabPanel().setActiveItem(6); 

    var tabBar = this.getMyTabPanel().getTabBar(); 

    var activeTab = tabBar.getActiveTab(); 
    var x= activeTab.element.getX(); 
    var y = activeTab.element.getY(); 

下一部分是,得到tabBar scroller的实例。一旦我们得到这个,我们可以务实地滚动它,以达到我们在上述步骤中获得的理想位置。

var scroller = this.getMyTabPanel().getTabBar().getScrollable().getScroller(); 

    scroller.scrollTo(x,y); 

工作demo is here


更新

您还可以启用动画而务实地与滚动 -

scroller.scrollTo(x, y, true); 
+0

感谢很多!它运作良好。 –

+0

演示链接不工作。请提供工作链接@SachinGutte –

相关问题