ios-自定义 NavigationItem 超出范围

问题描述

自定义 NavigationItem 超出范围

使用自定义 UIBarButtonItem 代替 leftBarButtonItem,但是当我如果按到按钮周围20像素的区域,也会执行按钮的动作。

代码:

- (void)changeNavbarButtons
{
    UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
    [backButton setBackgroundImage:[UIImage imageNamed:@"navbarBack.png"] forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(popViewController) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

    UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
                                       initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                                       target:nil action:nil];
    negativeSpacer.width = -5;

    self.navigationItem.leftBarButtonItems = [NSArray
                                              arrayWithObjects:negativeSpacer, backItem, nil];    self.navigationItem.hidesBackButton = YES;
}

negativeSpacer 向左移动了按钮5个像素。

时间: 2024-11-02 12:50:47

ios-自定义 NavigationItem 超出范围的相关文章

iOS自定义键盘切换效果_IOS

本文实例为大家分享了iOS自定义键盘切换的相关代码,供大家参考,具体内容如下 具体代码如下 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.title = @"小飞哥键盘"; self.textField = [[UITextField alloc] initWithFrame:CGRectMa

iOS自定义alertView提示框实例分享_IOS

本文实例为大家分享iOS自定义alertView提示框,先上图,弹框的背景色,按钮背景色,提示的消息的字体颜色都可以改变 利用单例实现丰富的自定义接口 // // PBAlertController.h // PBAlertDemo // // Created by 裴波波 on 16/4/20. // Copyright 2016年 裴波波. All rights reserved. // #import <UIKit/UIKit.h> typedef void(^PBBlock)(); @

iOS 自定义tabbar时的问题,虚心请假各位前辈

问题描述 iOS 自定义tabbar时的问题,虚心请假各位前辈 5C [self.tabbarView addSubview:button];//button 不显示[self.view addSubview:button];//button 显示 请问,原因何在呢? 解决方案 看一下层级关系button 加到哪一层了tabbarView 加载到view上了么?你的tabbarView 做了一个属性还是定义了一个类? 在定义控件的类里层级关系是什么样的? 解决方案二: 可能被别的view覆盖了.

iOS自定义提示弹出框实现类似UIAlertView的效果_php实例

首先来看看实现的效果图 下面话不多说,以下是实现的示例代码 #import <UIKit/UIKit.h> typedef void(^AlertResult)(NSInteger index); @interface XLAlertView : UIView @property (nonatomic,copy) AlertResult resultIndex; - (instancetype)initWithTitle:(NSString *)title message:(NSString

tabbar自定义高度-iOS 自定义tabbar的高度和item。如何做啊,跪求大神告知!

问题描述 iOS 自定义tabbar的高度和item.如何做啊,跪求大神告知! iOS 自定义tabbar的高度和item.如何做啊,跪求大神告知!!!急急急 解决方案 tabbaritem设置红点大小.自定义宽高 自定义Tabbar,样式和尺寸 网上相关的文章,还有很多.建议你学会使用搜索引擎,如:Baidu/Bing,当然 Google 也可以(需要翻墙). 解决方案二: 你把ui贴出来吧.自定义很多种,哪知道你要哪个. 解决方案三: 先移除系统的Tabbar,再创建一个不就行了,高度想怎么

ios自定义view,使用masonry写约束,应该写在哪个方法里面

问题描述 ios自定义view,使用masonry写约束,应该写在哪个方法里面 是写在layoutSubviews 还是写在updateConstraints里面?如果是自定义cell的话高度怎么解决 解决方案 你应该在你的代码中ViewDidLoad等中添加约束,一开始初始化就做到.后面如果需要动态修改再在需要的时候修改

iOS自定义日历控件的简单实现过程_IOS

因为程序要求要插入一个日历控件,该空间的要求是从当天开始及以后的六个月内的日历,上网查资料基本上都说只要获取两个条件(当月第一天周几和本月一共有多少天)就可以实现一个简单的日历,剩下的靠自己的简单逻辑就OK了,下面开始自己从开始到完成的整个过程 1.首先做NSDate类目,扩展一些方法让日期之间转换更加方便 #import <Foundation/Foundation.h> @interface NSDate (LYWCalendar) #pragma mark - 获取日 - (NSInte

iOS自定义collectionView实现毛玻璃效果_IOS

先来看看效果图,由于录屏软件不给力,毛玻璃效果不明显,请见谅. 步骤详解: 说下思路,很简单,首先自定义一个collectionView, 重写它的initWithFrame:collectionViewLayout:方法,在这里面做配置,这里用的是AXECollectionView. 与之对应的自定义一个collectionViewCell,在cell里配置操作:设置layer涂层,加载图片等操作,这里用的是AXECollectionViewCell. 最后在需要展示的控制器里调用AXECol

iOS自定义推送消息提示框_IOS

看到标题你可能会觉得奇怪 推送消息提示框不是系统自己弹出来的吗? 为什么还要自己自定义呢?  因为项目需求是这样的:最近需要做 远程推送通知 和一个客服系统 包括店铺客服和官方客服两个模块 如果有新的消息推送的时候 如果用户当前不在客服界面的时候  要求无论是在app前台 还是app退到后台 顶部都要弹出系统的那种消息提示框 这样的需求 我们就只能自定义一个在app内 弹出消息提示框   实现步骤如下:  1.我们自定义一个view 为 STPushView 推送消息的提示框view  #imp