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 に答える