如何为uinavigationcontroller后退按钮提供图像

时间:2012-04-06 10:48:49

标签: iphone

开发一个应用程序。我使用UINavigationController.But我想设置后退按钮的图像。我使用下面的代码设置图像。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backArrow.png"] style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

但这不适合bak按钮。它只出现在后面按钮的中间。所以请告诉我如何设置整个后退按钮的图像。

1 个答案:

答案 0 :(得分:0)

对于UINavigationBar中的后退按钮,如果添加图像,它将仅显示背面中央的图像。您也无法添加图像。因此,不要这样做,请隐藏您的backbutton并在viewDidload方法中添加此代码,为其添加图片,看起来就像您需要的那样。

    self.navigationItem.hidesBackButton = YES;
 UIButton *button = [UIButton buttonWithType: UIButtonTypeCustom]; 
    [button setBackgroundImage:[UIImage imageNamed:@"back_normal"] forState:UIControlStateNormal];  
    [button setBackgroundImage:[UIImage imageNamed:@"back_pressed"] forState:UIControlStateSelected];
    [button addTarget: nil action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside]; 
    button.frame = CGRectMake(0, 0, 50, 30);  
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: button];