2012-02-24 30 views
1

當我添加一些圖標(50)到TTLauncherView Three20視圖時,TTLauncherView總是在圖標頁面的最後一頁。我怎樣才能改變它始終顯示圖標的第一頁,而不是最後一頁? 謝謝。Three20 TTLauncherView默認顯示菜單的第一頁

更新

在viewDidLoad方法

,我稱它是:

- (void)loadIcons 
{ 
int first=0; 
TTLauncherItem *firstIcon; 
for (NSString *nombre in nombres) { 
    TTLauncherItem *icono=[self generarIcono:nombre]; 
    [launcherView addItem:icono animated:YES]; 
    if(first==0) 
     firstIcon=icono; 
    first=1; 
} 

[self.view addSubview:launcherView]; 

if (firstIcon!=nil) { 
    [launcherView scrollToItem:firstIcon animated:NO]; 
} 
} 

回答

0

您要添加動畫的所有物品。我不認爲這是你在viewDidLoad期間想要的,另一方面,這會讓你的代碼無法像你期望的那樣工作。您正在添加動畫項目,然後請求立即(而不是動畫)移動到第一項。衝突。最簡單的做法是添加沒有動畫的項目[launcherView addItem:icono animated:NO];

但是,這不是你通常會向發射器添加大量項目的方式。它造成了很多開銷。有一個pages屬性,這更適合您的需求。查看代碼的TTCatalog示例應用程序。

+0

將動畫屬性更改爲NO爲每個項目,仍然不工作。當我按元素添加或刪除任何項目元素時,我會以這種方式添加每個項目以便重複使用它。儘管如此,你的建議可以提供更好的性能。現在,我試圖找出爲什麼將動畫設置爲NO不起作用。 – 2012-02-26 15:24:28

+1

我已經將scrollToItem方法調用移至viewDidAppear,並且滾動工作,儘管顯示了滾動運動。 – 2012-02-26 15:40:07

3

加入你的圖標後中庸之道調用[launcherView scrollToItem:item1 animated:NO]

+0

我試過了,但它不起作用。 – 2012-02-24 12:21:09

+0

它適合你嗎?我剛剛添加了該行,並添加了item1作爲第一項。 – 2012-02-24 12:57:08

+0

是的,它適合我。你能發佈更多的代碼來幫助調試嗎? – 2012-02-24 13:00:49