iOS7中 navigationItem的左、右barButton 各向右、左偏离10个像素 有的时候需求会要求效果与iOS7以下版本相同,以下是解决方法,还是stackoverflow给力
// iOS7中 navigationItem的左、右barButton 各向右、左偏离10个像素 以下方法纠正
// IOS7_OR_LATER是一个判断系统版本的宏 在这里不做解释
// rightButton 是实际需要的barButton
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]initWithCustomView:toMakeMealButton];
if (IOS7_OR_LATER) {
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
negativeSpacer.width = -10;
[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:negativeSpacer,rightButton, nil] animated:NO];
[negativeSpacer release];
}else{
self.navigationItem.rightBarButtonItem = rightButton;
}
[rightButton release];