1

テーブルビューから標準ビューに切り替えるときに(セルが選択されている場合)、ナビゲーションバーで発生する戻るボタンのアニメーションを無効にする方法がわかりません。アニメーションを開始できるようにする明確なコード行はありません。ここではgif形式です:

デモ

Facebookアプリのナビゲーションボタンはアニメーション化されないため、可能です。

私がViewDeckライブラリを使用してFacebookのようなtableViewメニューを作成していること、つまり、右にスワイプしてテーブルを表示していることを言及するのは適切かもしれません。

編集:ソリューションはHesham Abd-Elmegidの回答に基づいていますが、カスタム画像を使用するように変更されています...

UIImage *settingsImage = [UIImage imageNamed:@"back_button@2x.png"];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(280.0, 10.0, 29.0, 29.0);
[backButton setBackgroundImage:settingsImage forState:UIControlStateNormal];
backButton.frame = CGRectMake(0, 0, 50, 30);
[backButton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = customBarItem;
4

2 に答える 2

2

カスタムUIBarButtonItemを(標準の戻るボタンアイテムではなく)左側のナビゲーションアイテムとして設定すると、Facebookのアプリのように、スライドインではなくフェードインします。popViewControllerAnimated:詳細ビューコントローラーが含まれているナビゲーションコントローラーを呼び出すことにより、戻るボタンの機能を置き換える簡単なメソッドを作成するだけです。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack)] autorelease];
}

- (void)goBack
{
    [self.navigationController popViewControllerAnimated:YES];
}

注:メソッドUIBarButtonItemを使用して画像を設定することもできます。initWithImage:style:target:action:

于 2012-12-18T08:03:10.700 に答える
0

戻るボタンをカスタムUIButtonに置き換えることができます。そうすれば、トランジションでアニメーション化されません。

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"Back" forState:UIControlStateNormal];
backButton.frame = CGRectMake(0, 0, 50, 30);
[backButton addTarget:self action:@selector(onBack) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = customBarItem;
[customBarItem release];

ただし、戻るボタンの矢印の形のPNGを見つける必要があります。

于 2012-12-18T08:03:53.837 に答える