您的位置:首页 > 移动开发 > IOS开发

iOS7 initWithCustomView- leftBarButtonItem / rightBarButtonItem 偏移问题

2016-03-15 21:30 477 查看
-(void)initNavigationBar{

self.navigationItem.title = @"Create Message";

//leftBarButtonItem

UIButton * cancelBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 60.0f, 44.0f)];

[cancelBtn setTitle:@"Cancel" forState:UIControlStateNormal];

cancelBtn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:15.];

[cancelBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[cancelBtn addTarget:self action:@selector(leftBarBtnClicked:) forControlEvents:UIControlEventTouchUpInside];

leftBarBtn = [[UIBarButtonItem alloc]initWithCustomView:cancelBtn];

//verify whether system version >= 7 or not. for >= 7 , should cut negativeSpacer.width = -10;

if ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7) {

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

negativeSpacer.width = -10;

self.navigationItem.leftBarButtonItems = @[negativeSpacer, leftBarBtn];

}else{

self.navigationItem.leftBarButtonItem = leftBarBtn;

}

//rightBarButtonItem

UIButton * rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 60.0f, 44.0f)];

[rightBtn setTitle:@"Publish" forState:UIControlStateNormal];

rightBtn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:15.];

[rightBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[rightBtn addTarget:self action:@selector(rightBarBtnClicked:) forControlEvents:UIControlEventTouchUpInside];

rightBarBtn = [[UIBarButtonItem alloc]initWithCustomView:rightBtn];

//verify whether system version >= 7 or not. for >= 7 , should cut negativeSpacer.width = -10;

if ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7) {

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

negativeSpacer.width = -10;

self.navigationItem.rightBarButtonItems = @[negativeSpacer, rightBarBtn];

}else{

self.navigationItem.rightBarButtonItem = rightBarBtn;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: