0

我有以下代码在我的视图导航项的标签栏上添加 BackButton。它工作正常。

// Add back button
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
[view.navigationController setNavigationBarHidden:NO animated:YES];
view.navigationItem.backBarButtonItem = backButton;
view.navigationController.navigationBar.barStyle = UIBarStyleBlack;
[backButton release];

我使用以下行导航到我的新视图控制器,但它会显示默认动画。

[view.navigationController pushViewController:viewController2 animated:YES];

我想改变它的呈现方式,所以我尝试按照以下方式进行。

[viewController2 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [view.navigationController presentModalViewController:viewController2 animated:YES];

这工作正常,但我失去了我的 BackButton..!! 有没有办法以特定的过渡风格呈现我的新视图控制器,并保持我的后退按钮不变?

谢谢。

4

1 回答 1

0

我找到了你问题的答案。在您的 viewController2 上放置一个导航栏,并使用界面构建器或使用代码向其添加一个栏按钮。然后在按钮按下的动作中

如果您通过界面生成器添加了条形按钮,请在您的 viewController2.m 中编写此函数并将其与按钮按下链接。

-(void) backButtonPressed : (id) sender
{
    [self dismissModalViewControllerAnimated:YES];
}

这应该可以解决您的问题。执行 pushViewController 将为您带来导航栏和所有内容,但在您的情况下,将 viewController 呈现为 modalViewController 不会默认为您提供导航栏,因此您必须在您的 modalViewController 中手动添加它,在您的情况下为 viewController2。

如果您仍然面临问题,请告诉我。我们可以尽快修复它,为您节省一些时间和挫败感。

干杯!!!

于 2011-06-13T12:05:22.877 回答