2

右から左にスライドするビューをアニメートしています。左側のバーボタンはナビゲーション内にあるように見えますが、右側のバーボタンは、最初はナビゲーションバーの一部ではないように、奇妙にアニメーション化されているように見えます。

コードに何か問題があるかどうか、またはこれを行う別の方法があるかどうかを知りたいのですが。

- (void)viewWillAppear:(BOOL)animated
{
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Skip" style:UIBarButtonItemStyleBordered target:nil action:nil];

    [super viewWillAppear:animated];
}

どんな助けでも大歓迎です。

4

2 に答える 2

3

rightBarButtonItemビューコントローラのinit...メソッドで設定します。これは、ViewControllerの存続期間中に1回だけ実行する必要があります。

于 2012-04-20T05:17:46.247 に答える
1

これは暗闇の中でのショットですが、慣例では、最初に[super viewWillAppear:animated]を呼び出してから、独自のコードを追加します。あなたが物事(オブジェクト、ビューなど)を構築しているときはいつでもそれをしてください。

次に、物事を分解するとき(-dealloc、-viewWillDisappearなど)、反対のことを行います。自分のものをクリーンアップしてから、スーパーを呼び出してクリーンアップを実行させます。

それはおそらく関係がなく、違いはありません。しかし、それに入るのは良い習慣であり、あなたは決して知りません。ここでの動作が変わる可能性があります。たぶん、スーパーはバーボタンアイテムを追加する前にいくつかのセットアップを行う必要があります。

于 2012-04-20T05:17:29.057 に答える