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;
}
本文出自 “idanal” 博客,请务必保留此出处http://danal.blog.51cto.com/3353275/1565509
原文地址:http://danal.blog.51cto.com/3353275/1565509