2011-08-04 17 views
0

私はナビゲーションシステムを持つrootcontrollerを持っています。私がしたいことは、古いスタックをポップして、委任を介して新しいスタックを追加することです。たとえば、(1)コールメソッドには、ポップcurrentviewと委任が含まれています。 (2)rootviewで、委任を受け取り、新しいスタックをそれ自身にプッシュします。デリゲートを介してviewcontrollerをプッシュまたはポップする方法

currentviewcontroller.m

-(void)chooseSticker:(id)sender{ 
    [self.navigationController popViewControllerAnimated:YES]; 
    [self.delegate returnSetView]; 
} 

rootviewcontroller.m

-(void) returnSetView{ 
    SetToolController *setController = [[SetToolController alloc]initWithNibName:@"SetToolController" bundle:nil]; 
    [self.navigationController pushViewController:setController animated:YES]; 
    [setController release]; 

} 

それだけで、コントローラをrootに戻りますが、新しいビューを追加します。メソッドを呼び出すと、ナビゲーションバーに「戻る」ボタンが重なって表示されます。

+0

アニメーションを「いいえ」に変更するか、少し時間をおいてください。コンソールの出力は何ですか? –

+0

gosh !!できます!!!ありがとう!ありがとう!しかし、アニメーションだけを試してみましたが、ここで遅延を適用する方法は?ありがとう! – user842589

+0

私は答えとして追加しようとしています。あなたはそれを受け入れることができます。 –

答えて

2

アニメーションによって、作成されたビューがブロックされています。したがって、アニメーションをオフにすることも、別のビューを表示する前に遅延を追加することもできます。

performSelectorOnMainThread:withObject: afterDelay: waitUntilDone:YES 
関連する問題