Iphone 如何更改iOS上后退按钮的位置?
您可以看到,我正在制作一个完全自定义的导航栏,当我创建“后退”按钮时,它不会停留在正确的位置,正如您在代码下面看到的那样 这是我的应用程序代码Iphone 如何更改iOS上后退按钮的位置?,iphone,ios,objective-c,uinavigationcontroller,back-button,Iphone,Ios,Objective C,Uinavigationcontroller,Back Button,您可以看到,我正在制作一个完全自定义的导航栏,当我创建“后退”按钮时,它不会停留在正确的位置,正如您在代码下面看到的那样 这是我的应用程序代码 - (void)viewDidLoad { [super viewDidLoad]; if(self.navigationController.viewControllers.count > 1) { UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCu
- (void)viewDidLoad
{
[super viewDidLoad];
if(self.navigationController.viewControllers.count > 1) {
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[backButton setTitle:@"" forState:UIControlStateNormal];
[backButton setBackgroundImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(didTapBackButton:) forControlEvents:UIControlEventTouchUpInside];
backButton.frame = CGRectMake(0.0f, 0.0f, 44.0f, 45.0f);
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backButtonItem;
}
}
你不能改变,你必须隐藏它 请看此处发布的页面:
您需要先隐藏导航栏
[self.navigationController setNavigationBarHidden:YES animated:NO];
然后创建自定义UIButton
UIButton *btn1=[UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(10, 0, 60, 40)];// Frame u want
[btn1 setImage:[UIImage imageNamed:@"BT_ipad_P_backbward@2x.png"] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(Click_backward:) forControlEvents: UIControlEventTouchUpInside];
btn1.tintColor=[UIColor purpleColor];
[self.view addSubview:btn1];
我想你可以修改contentEdgeInsets来确定按钮的位置 大概是这样的: [backButton setContentEdgeInsets:UIEdgeInsetsMake(5,0,-5,0)] 来自 contentEdgeInsets 围绕所有按钮内容的矩形的插入页边距或起始页边距 @属性(非原子)UIEdgeInsets contentEdgeInsets
讨论使用此属性调整按钮内容的有效图形矩形的大小并重新定位。内容包括按钮图像和按钮标题。可以为四个插图(顶部、左侧、底部、右侧)中的每一个指定不同的值。正值将收缩或插入该边,使其靠近按钮的中心。负值会扩展或超出该边。使用UIEdgeInsetsMake函数构造此属性的值。默认值为UIEdgeInsetsZero。您可以渲染左侧有一定间距的较大图像
UIImage *origImage = [UIImage imageNamed:@"button-thin-hamburger.png"];
UIGraphicsBeginImageContextWithOptions(CGSizeMake(origImage.size.width + 10, origImage.size.height), NO, 0.0);
[origImage drawInRect:CGRectMake(10, 0, origImage.size.width, origImage.size.height)];
UIImage *buttonImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@""
style:UIBarButtonItemStylePlain
target:nil
action:nil];
self.navigationItem.backBarButtonItem = backButton;
[[UINavigationBar appearance] setBackIndicatorImage:buttonImage];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:buttonImage];
虽然这可能从技术上回答了这个问题,但请您在这里总结一下链接的材料。否则,由于链接腐烂,答案可能会失去它的有用性。不,我知道如何删除后退按钮的标题,只需更改位置。有可能吗?谢谢你的回答!嗨,朋友,我使用数组添加了四个导航按钮。。工作正常,但后指示灯按钮隐藏。如何纠正此问题。