1

titleViewにグラフィックを使用するを設定しましたnavigationBar。新しいものを押すと、viewControllerそのグラフィックがtitleView押されたコントローラーの中に保持されます。

のスライド効果が嫌いnavigationBarです。navigationBar新しいビューがプッシュされたときに私のtitleViewイメージが新しいバージョンでスライドするように見えないように、トランジションが影響を与えないようにする方法はありますか?

4

1 に答える 1

1

アニメーションを防止する必要がある新しいView Controllerをプッシュするときに、アニメーションの状態をNOに変更すると。

[self.navigationcontroller pushVewController:newVC animated:NO];

編集: ナビゲーション コントローラー内にあるカスタム ビューを作成しましたが、ナビゲーション バー イメージの機能を置き換えるには、独自のカスタム イメージを作成する必要があります。しかし、これは私にとって望ましい結果であると信じている移行ではありません。

- (void)viewDidLayoutSubviews{
    self.navigationItem.backBarButtonItem = nil;
    [self.navigationController.navigationBar.backItem setHidesBackButton:YES];
    self.navigationController.navigationBar.topItem.titleView = nil;
    UIView *staticTitle = [[UIView alloc]initWithFrame:self.navigationController.navigationBar.bounds];
    [staticTitle setBackgroundColor:[UIColor greenColor]];
    [staticTitle setUserInteractionEnabled:NO];
    [self.navigationController.navigationBar addSubview:staticTitle];
    UIButton *customButton = [[UIButton alloc] initWithFrame:CGRectMake(15, 15, 100, 60)];
    [customButton setBackgroundColor:[UIColor redColor]];
    [customButton addTarget:self action:@selector(handleBackBtn) forControlEvents:UIControlEventTouchUpInside]; 
    [customButton setTitle:@"Button" forState:UIControlStateNormal];
    [staticTitle addSubview:customButton];
}
于 2012-10-05T12:52:13.760 に答える