1

titleView在我的navigationBar. 当我推送一个新的时viewController,我将该图形保留在titleView推送的控制器中。

我讨厌的滑动效果navigationBar。有没有办法防止过渡影响,navigationBar以便我的titleView图像在新视图被推送时不会出现在新版本中滑动的外观?

4

1 回答 1

1

如果在推送应该阻止动画的新视图控制器时将动画状态更改为 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 回答