9

pushViewControllerアニメーションの間にフェードイン:避け、私は私の唯一の-iOS5をアプリケーションにnavigationControllerDelegateを持って

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
    UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"common-settingsbutton"] style:UIBarButtonItemStylePlain target:nil action:nil]; 
    [viewController.navigationItem setRightBarButtonItem:myButton]; 
} 

それは動作しますが、デフォルトのアニメーションでプッシュビューコントローラが発生したとき(すなわち「プッシュを使用してsegue ")rightBarButtonItemフェードアウトとアニメーション中のフェードイン。

どうすればこの問題を回避できますか?


UPDATE

ザIが見出さのみ回避策である:
が正しくベースPNGに描画同じUIBarButtonItems(同じ位置に、同じ色)と設定された背景とUINavigationBar背景を作成しますボタンが必要です。 もちろんUIBarButtonItemsを追加してください。

答えて

3

私が見つけた唯一の回避策は: 同じUIBarButtonItemsを同じ位置、同じ色で描画してUINavigationBar背景を作成し、必要なボタンに基づいて正しく背景を設定します。その後、UIBarButtonItemsを追加します。

0

プロトコルメソッドではなく、ビューコントローラをプッシュする前にボタンを作成します。

+0

私は同じ動作をしました。また、1つの場所にコードを置くのではなく、各viewcontrollerのすべての "prepareForSegue"に同じコードを実装する必要があります。 –

0

は、ドキュメントによると、あなたはBarButtonItem

[viewController.navigationItem setRightBarButtonItem:myButton animated:NO]; 

のためのアニメーションを無効にすることができます。しかし、これはstoryboardedプロジェクトで動作するようには思えません。

+1

すでにこの方法で試してみました。 –

0
button. adjustsImageWhenHighlighted = NO; 

フェードイン/フェードアウトのように強調表示されたrightBarButtonをクリックします。そのボタンのプロパティの1つがadjustsImageWhenHighlightedがNOに設定されないようにします。

+0

一般的に、回答にはコードが何を意図しているのか、他の人を紹介せずに問題を解決する理由が含まれていると、はるかに役立ちます。 – Peter

+0

これを解答に貼り付けてください。ありがとうございました ! – Peter

関連する問題