导航栏后退按钮上的图像

时间:2010-04-17 13:05:47

标签: iphone objective-c

在我们的应用程序中,我使用导航栏上的左右按钮。 我想要一个背面(左)按钮的图像。如果我使用段然后 必须为后退按钮定义一个动作。 请告诉我任何方法。

4 个答案:

答案 0 :(得分:0)

是的,如果你使用Bar Button项目,你可以转到Interface Builder中的Bar Button Item Attributes,你可以选择一个Image选项。

答案 1 :(得分:0)

您可以通过继承UINavigationBar来创建,然后创建一个这样的方法:

+ (UIBarButtonItem *)barButtonWithImage:(NSString *)imageName target:(id)target action:(SEL)action {
     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
     [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
     UIImage *titleImage = [UIImage imageNamed:imageName];
     [button setImage:titleImage forState:UIControlStateNormal];
     [button sizeToFit];
     UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
    return item;
}

然后将其添加到导航栏中,如下所示:

    [self.navigationItem setLeftBarButtonItem:[TFNavigationBar barButtonWithImage:@"rp_settings.png" target:self action:@selector(showSettings)]];

p.s:我更喜欢使用单身人士,这就是原因。

答案 2 :(得分:0)

我们发现用自己的替换后退按钮的最简单方法就是这样。

  1. 在视图外的nib文件中添加后退按钮。根据需要自定义它。
  2. 将其连接为IBOutlet。我们称之为btnBack。
  3. ViewDidLoad中的
  4. 执行此操作:

    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
    [self.navigationItem setLeftBarButtonItem:back animated:YES];
    
  5. 将动作连接到你的backBtn,如下所示:

    - (IBAction)Back:(id)sender {
    [self.navigationController popViewControllerAnimated:YES];
    }
    
  6. 这就是你自己定制的后退按钮:)

答案 3 :(得分:0)

如果您只想在应用程序中用图像替换后退按钮..

[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back_button"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back_button"]];

或者对于特定的导航栏,请指定您的navBar而不是'[UINavigationBar appearance]'。这非常有效。