2012-02-24 16 views
1

TTLauncherView Three20ビューにアイコン(50)を追加すると、TTLauncherViewは常にアイコンページの最後のページに表示されます。最後のアイコンの代わりに、アイコンの最初のページを常に表示するには、どうすれば変更できますか?おかげさまで ジュストあなたはアニメーションのすべての項目を追加している[launcherView scrollToItem:item1 animated:NO]Three20 TTLauncherデフォルトでメニューの最初のページを表示

答えて

0

呼び出すあなたのアイコンを追加した後

- (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

アイテムごとにアニメーションプロパティをNOに変更しても、まだ動作していません。この方法ですべてのアイテムを追加して、アイテムごとにエレメントを追加または削除した後で再利用します。それにもかかわらず、あなたがうまくいくとパフォーマンスが向上します。さて、アニメーションをNOに設定しても機能しないのはなぜですか? –

+1

私はscrollToItemメソッドの呼び出しをviewDidAppearに移動し、スクロールの動きは表示されますが、スクロールは機能します。 –

3

:viewDidLoadメソッドで

アップデートは、私はこの1つを呼び出します。私はあなたがviewDidLoadの間にあなたが望むものだとは思わないし、一方、これはあなたのコードがあなたの期待どおりに動作するのを阻止するものです。アイテムをアニメートして追加し、瞬間(アニメーションではない)の移動を拳のアイテムに要求します。それは衝突する。最も簡単なことは、アニメーションなしでアイテムを追加することです。[launcherView addItem:icono animated:NO];

これは通常、ランチャーに多くのアイテムを追加する方法ではありません。オーバーヘッドが大きくなります。 pagesプロパティがあり、それはあなたのニーズにより適しています。コードのTTCatalogサンプルアプリケーションを見てください。

+0

私はそれを試しましたが、動作しません。 –

+0

あなたのために働くのですか?私はその行を追加しました。最初の項目としてitem1が追加されました。 –

+0

はい、それは私のために働く。デバッグに役立つコードを投稿できますか? –

関連する問題