2

在视图控制器的加载视图中,我使用图像自定义标题视图:

self.navigationItem.titleView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"navigationBarCentralImage.png"]];

到目前为止一切顺利,它在导航栏的中心显示图像。但是,当我弹出当前视图并推送一个在没有自定义标题视图的情况下运行良好的新视图时,它会崩溃。这是我用来弹出/推送的代码

-(void)popLastViewAndPush:(id)viewController
{
    NSMutableArray *controllers = [SharedAppDelegate.navigationController.viewControllers mutableCopy];
    if([controllers objectAtIndex:[controllers count] -1] == viewController)
        return;

    [controllers removeLastObject];
    SharedAppDelegate.navigationController.viewControllers = controllers;

    [SharedAppDelegate.navigationController pushViewController:viewController animated:YES];
}

我有点卡住了,不明白为什么它实际上会因标题视图自定义而崩溃

4

1 回答 1

0

如果您不使用 ARC,请将代码行更改为:

self.navigationItem.titleView = [[[UIImageView alloc] initWithImage: [UIImage imageNamed: @"navigationBarCentralImage.png"]] autorelease];

autorelease必须向分配的对象添加一个。

于 2013-04-17T19:59:28.193 回答