[英]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:我更喜欢使用单例,这就是它的原因。
我们发现用我们自己的后退按钮替换的最简单方法就是这样。
在ViewDidLoad中执行以下操作:
UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithCustomView:btnBack]; [self.navigationItem setLeftBarButtonItem:back animated:YES];
像这样将一个动作连接到您的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.