IOS7下的UIBarButtonItem偏移了10pt,相信这是大家都不想要的效果,解决的方法就是增加一个UIBarButtonSystemItemFixedSpace item,但是在7.1开始,只添加一个fixedSpaceItem运行会挂掉,肿么办,兼容的解决方法就是再在前面增加一个空的item,代码如下:
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button]; //要添加到navgationBar上的item
if ([UIDevice iOS7]){
UIBarButtonItem *plain = [[UIBarButtonItem alloc] initWithTitle:nil style:UIBarButtonItemStylePlain target:nil action:NULL]; //解决7.1会挂掉的问题
UIBarButtonItem *fix = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:NULL];
fix.width = -10; //纠正10pt的偏移
self.navigationItem.rightBarButtonItems = @[plain,item,fix]; //就是这样,完美!
} else {
self.navigationItem.rightBarButtonItem = item;
}
时间: 2025-01-05 18:32:51