ios7 UIBarButtonItem 边距问题 与ios7以下版本间距不同
来源:互联网 发布:wind数据终端 编辑:程序博客网 时间:2024/06/08 19:14
转载自:http://lizhaobomb.blog.163.com/blog/static/6668340820141193832783/
iOS7 UI兼容 导航栏按钮边框 UINavigationItem left and right padding
iOS7之前的UI为:
而在iOS7中,由于设计方面的原因,使得UI变为:
修改的方法重写UINavigationItem的setLeftBarButtonItem和setRightBarButtonItem方法,使之与之前版本兼容;
代码如下:
@interface UINavigationItem (margin)@end
@implementation UINavigationItem (margin)#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1- (void)setLeftBarButtonItem:(UIBarButtonItem *)_leftBarButtonItem{ if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { UIBarButtonItem *negativeSeperator = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; negativeSeperator.width = -12; if (_leftBarButtonItem) { [self setLeftBarButtonItems:@[negativeSeperator, _leftBarButtonItem]]; } else { [self setLeftBarButtonItems:@[negativeSeperator]]; } [negativeSeperator release]; } else { [self setLeftBarButtonItem:_leftBarButtonItem animated:NO]; }}- (void)setRightBarButtonItem:(UIBarButtonItem *)_rightBarButtonItem{ if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { UIBarButtonItem *negativeSeperator = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; negativeSeperator.width = -12; if (_rightBarButtonItem) { [self setRightBarButtonItems:@[negativeSeperator, _rightBarButtonItem]]; } else { [self setRightBarButtonItems:@[negativeSeperator]]; } [negativeSeperator release]; } else { [self setRightBarButtonItem:_rightBarButtonItem animated:NO]; }}#endif@end
项目源码不做任何修改,问题解决;
添加Button:
UIBarButtonItem *leftBarItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];self.navigationItem.leftBarButtonItem = leftBarItem;[leftBarItem release];
转载自:http://www.cnblogs.com/maxfong/p/3375167.html
0 0
- ios7 UIBarButtonItem 边距问题 与ios7以下版本间距不同
- ios7 UIBarButtonItem 边距问题
- ios7与ios8系统版本不同出现的问题积累
- ios7 UIBarButtonItem 默认蓝色
- Xcode8 支持 iOS7及以下版本
- Xcode8 支持 iOS7及以下版本
- Xcode8 支持 iOS7及以下版本
- 解决iOS7上自定义导航条UIBarButtonItem偏移问题
- 解决IOS7下UIBarButtonItem位置有偏移的问题
- Xcode8 支持 iOS7及以下版本 中关于无法修改SDKSettings.plist文件的问题
- iOS7新特性-完美解决iOS7关于自定义导航条UIBarButtonItem偏移的问题
- iOS7自定义返回出现左边间距过大的问题
- ios7版本适配问题总结(一)
- ios7版本适配问题总结(二)
- 关于iOS7以后版本企业发布问题
- 关于iOS7以后版本企业发布问题
- 关于iOS7以后版本企业发布问题
- iOS7以下 window add view 转屏问题
- 蓝点世纪携原厂技术大会引发Java技术新旋风
- ef 出错:DbExpressionBinding 要求输入表达式具有集合 ResultType
- 开始使用 Spring Data JPA(1)
- 设计模式之——单例模式(Singleton)的常见应用场景
- [原创]MFC中的多线程处理问题总结
- ios7 UIBarButtonItem 边距问题 与ios7以下版本间距不同
- Android 进程分布初探
- 等待主线程结束后继续执行余下代码,
- Serv-U 14.0.2常见问题:IP地址变换导致FTP服务器连接失败
- Sharepoint 移动客户端 Rshare的特点
- 服务器安装PHP扩展:curl问题解决办法(针对Wampserver2.4-x86)
- Hibernate加载基本的配置信息源码浅析
- PHP与SQL Server2005
- unity3D游戏开发十七之NGUI四