繁体   English   中英

导航栏后退按钮上的图像

[英]Image on Navigation Bar Back Button

在我们的应用程序中,我使用导航栏上的向左和向右按钮。 我想要一个图像在后(左)按钮上。如果我为此使用段,则必须为后按钮定义动作。 请建议我任何方法。

您可以通过将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)]];

ps:我更喜欢使用单例,这就是它的原因。

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

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

     UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithCustomView:btnBack]; [self.navigationItem setLeftBarButtonItem:back animated:YES]; 
  4. 像这样将一个动作连接到您的backBtn:

     - (IBAction)Back:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } 

多数民众赞成在这里,您有一个自定义的后退按钮:)

是的,如果您使用Bar Button项,则可以转到Interface Builder中的Bar Button项属性,然后应该可以选择Image选项。

如果您只想在整个应用程序中用图片替换后退按钮。

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

或者,对于特定的导航栏,请指定您的navBar而不是“ [UINavigationBar外观]”。 这很完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM