iOS7以后处理leftBarButtonItem问题

因为ios7以后leftBarButtonItem往右移了大概10px,现在要使得leftBarItem和ios7之前那样显示,处理如下:

if (isBeforeIOS7)
    {
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame = CGRectMake(15,5,22,22);
        [btn setBackgroundImage:[UIImage imageNamed:@"icon_back_left"] forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(goBackAction) forControlEvents: UIControlEventTouchUpInside];
        UIBarButtonItem*backBarBtn=[[UIBarButtonItem alloc]initWithCustomView:btn];
        self.navigationItem.leftBarButtonItem=backBarBtn;
    }
    else
    {
        UIBarButtonItem *backBarBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_back_left"] style:UIBarButtonItemStyleDone target:self action:@selector(goBackAction)];
        UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
        negativeSpacer.width = -10;
        self.navigationItem.leftBarButtonItems = @[negativeSpacer,backBarBtn];
    }
时间: 2024-10-08 22:17:56

iOS7以后处理leftBarButtonItem问题的相关文章

iOS7 UI兼容 导航栏按钮边距

转载自:http://www.cnblogs.com/maxfong/p/3375167.html iOS7之前的UI为: 而在iOS7中,由于设计方面的原因,使得UI变为: 修改的方法重写UINavigationItem的setLeftBarButtonItem和setRightBarButtonItem方法,使之与之前版本兼容: 代码如下: @interface UINavigationItem (margin) @end @implementation UINavigationItem (

自定义iOS7导航栏背景,标题和返回按钮文字颜色

转自:http://blog.csdn.net/mad1989/article/details/41516743 在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Color 方法一: [objc] view plaincopy //set NavigationBar 背景颜色&title 颜色 [self.navigationController.na

兼容sdk7&iOS7的issue解决小片段总结

ios7新增加的icon尺寸: 76 x 76:Size for iPad 2 and iPad mini (standard resolution) 120 x 120 :Size for iPhone  and iPod touch (high resolution) 152 x 152: Size for iPad and iPad mini (high resolution) 参考: http://blog.manbolo.com/2013/08/15/new-metrics-for-i

【转】自定义iOS7导航栏背景,标题和返回按钮文字颜色 -- 不错不错!!

原文网址:http://blog.csdn.net/mad1989/article/details/41516743 在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Color 方法一: [objc] view plain copy //set NavigationBar 背景颜色&title 颜色 [self.navigationController

ios7 自定义UINavigationBar UIBarButtonItem 10px的偏移纠正的两种解决方案

demo下载地址:http://pan.baidu.com/s/1c0eROkS 方案一:利用UINavigationBar 自带的布局item(Fixed space Bar Button Item)来适配ios7. 其实就是在原来返回按钮的位置上在多加一个占位的Item 为UINavigationBar 写一个分类.UINavigationItem+correct_offset.h #import <UIKit/UIKit.h> @interface UINavigationItem (c

解决ios7.0 以后自己定义导航栏左边button靠右的问题

1.自己定义button //左button UIButton *leftBtn = [[UIButton alloc]initWithFrame:RectWithPara(-20, 0, 44, 44)]; [leftBtn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];//设置button点击事件 [leftBtn setBackgroundImage:Im

iOS7 NavigationController 右滑手势问题

苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationController.interactivePopGestureRecognizer.enabled = YES; 这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回 按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音.

解决 ios7.0 以后自定义导航栏左边按钮靠右的问题

解决 ios7.0 以后自定义导航栏左边按钮靠右的问题 www.111cn.net 编辑:edit02_lz 来源:转载 最近开发了一个ios的app,在ios7.0+出现自定义导航栏左边按钮出现靠右的情况,后来自己解决了,解决办法如下 1.自定义按钮  代码如下 复制代码 //左按钮UIButton *leftBtn = [[UIButton alloc]initWithFrame:RectWithPara(-20, 0, 44, 44)];[leftBtn addTarget:self ac

ios7下navigationItem位置问题

viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menu_icon.png"] style:UIBarButtonItemStylePlain target:nil action:nil]; 这样设置图片的位置的话,会向右偏移大约20个像素,这个时候设置位置也不行, 可以改成: UIBarButtonItem *b