- 浏览: 86958 次
- 性别:
- 来自: 成都
最新评论
解决ios7 UINavigationItem 位置偏移问题
#import <UIKit/UIKit.h>
@interface UINavigationItem (Spacing)
-(void)mySetLeftBarButtonItem:(UIBarButtonItem*)barButton;
-(void)mySetRigthBarButtonItem:(UIBarButtonItem*)barButton;
@end
#import "UINavigationItem+Spacing.h"
#import <objc/runtime.h>
#import <objc/message.h>
@implementation UINavigationItem (Spacing)
// load 在初始化类时调用,每个类都有一个load 方法,
// 类的初始化先于对象
+(void)load
{
//以下方法告诉系统用后面的方法替换前面的
method_exchangeImplementations(
class_getClassMethod(self, @selector(setLeftBarButtonItem:)),
class_getClassMethod(self, @selector(mySetLeftBarButtonItem:)));
}
- (UIBarButtonItem *)spacer:(float)width
{
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
if (ios7) {
space.width = width;
}
return space ;
}
-(void)mySetLeftBarButtonItem:(UIBarButtonItem*)barButton{
NSArray* barButtons = nil;
barButtons = [NSArray arrayWithObjects: [self spacer:-10.0f], barButton,nil ];
[self setLeftBarButtonItems: barButtons];
}
-(void)mySetRigthBarButtonItem:(UIBarButtonItem *)barButton{
NSArray* barButtons = nil;
barButtons = [NSArray arrayWithObjects: [self spacer:-15.0f], barButton,nil ];
[self setRightBarButtonItems: barButtons];
}
@end
#import <UIKit/UIKit.h>
@interface UINavigationItem (Spacing)
-(void)mySetLeftBarButtonItem:(UIBarButtonItem*)barButton;
-(void)mySetRigthBarButtonItem:(UIBarButtonItem*)barButton;
@end
#import "UINavigationItem+Spacing.h"
#import <objc/runtime.h>
#import <objc/message.h>
@implementation UINavigationItem (Spacing)
// load 在初始化类时调用,每个类都有一个load 方法,
// 类的初始化先于对象
+(void)load
{
//以下方法告诉系统用后面的方法替换前面的
method_exchangeImplementations(
class_getClassMethod(self, @selector(setLeftBarButtonItem:)),
class_getClassMethod(self, @selector(mySetLeftBarButtonItem:)));
}
- (UIBarButtonItem *)spacer:(float)width
{
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
if (ios7) {
space.width = width;
}
return space ;
}
-(void)mySetLeftBarButtonItem:(UIBarButtonItem*)barButton{
NSArray* barButtons = nil;
barButtons = [NSArray arrayWithObjects: [self spacer:-10.0f], barButton,nil ];
[self setLeftBarButtonItems: barButtons];
}
-(void)mySetRigthBarButtonItem:(UIBarButtonItem *)barButton{
NSArray* barButtons = nil;
barButtons = [NSArray arrayWithObjects: [self spacer:-15.0f], barButton,nil ];
[self setRightBarButtonItems: barButtons];
}
@end
发表评论
-
block语法
2015-12-11 10:34 536How Do I Declare A Block in Obj ... -
禁止WebView长按事件
2015-11-04 16:05 1182在webViewDidFinishLoad调用: - (voi ... -
一个公共的TableView,然后不会为每个TableView加delegate和datasource
2015-10-27 10:46 997.h // // PublicTableView.h // ... -
记录一些不错的文章
2015-10-09 20:04 613好久没有写ios了,这篇文章主要是记录一些看到的不错的文章: ... -
封装录音View
2015-06-26 16:13 617使用方法: 直接把XHRecrodView添加到control ... -
AFNetWorking请求WebService
2015-06-15 17:22 823.h #import <Foundation/Foun ... -
压缩图片,如果图片大于100kb,就循环压缩
2015-06-02 10:37 2283// 压缩图片,如果图片大于100kb,就循环压缩 + (NS ... -
weakSelf
2015-05-11 14:44 558快速的定义一个weakSelf 当然是用于block里面啦 ... -
ios Icon及启动图集合
2015-05-04 09:13 684做icon和启动图按这个尺寸来 -
把图片压缩到指定大小(kb)
2015-01-19 16:32 5085UIImage *image=[UIImage imageNa ... -
获取当前时间属于该月的第几周
2015-01-06 15:04 1113+(NSInteger) indexWeekOfDateInM ... -
iOS开发的一些奇巧淫技
2014-12-31 11:13 768iOS开发的一些奇巧淫技 http://www.coco ... -
iOS中使用block进行网络请求回调
2014-06-23 16:26 5535转自: http://www.tuicool.com/arti ... -
ios程序异常crash捕获与拦截
2014-06-06 22:09 589转:http://www.sharejs.com/codes/ ... -
设置TabBar选中与未选中图片
2014-04-29 18:07 716-(void)settingTabbarController{ ... -
自定义的NavigationBar,我觉得还不错
2014-04-28 18:03 595地址1:http://code.cocoachina.com ... -
UITableView点击展开cell
2014-04-25 15:14 103861.定义控制cell的两个变量 //最近打开的ind ... -
分享一个非常好的东西
2014-04-09 17:44 720http://makeappicon.com/ 传一个10 ... -
IOS 基于APNS消息推送原理与实现(JAVA后台)
2014-04-09 17:30 992转:http://cshbbrain.iteye.com/bl ... -
ios开发申请发布证书和发布应用到app store
2014-03-21 11:03 7821.http://www.360doc.com/content ...
相关推荐
UINavigationItem + Margin UINavigationItem的保证金。 设置边距 只需设置UINavigationItem的leftMargin和rightMargin 。 navigationItem.leftMargin = 0 ; navigationItem.rightMargin = 0 ; 哇,保证金已经...
作者bing900717,源码CenterTitleView,自定义UINavigationItem.titleView并居中显示。titleView会根据leftBarButtonItem和rightBarButtonItem调整自己的位置和大小。这就产生了居中显示的问题,当...
在 iOS 11 中,UINavigationItem 的左右间隙问题变得非常棘手,因为 iOS 11 对于 Nav 层级结构的改变,导致以前的方法无法达到理想的移动效果。为了解决这个问题,本文将介绍 iOS 11 UINavigationItem 去除左右间隙...
`UINavigationItem.titleView` 是一个常用的属性,用于自定义导航栏中央的标题视图。在这个特定的案例中,我们讨论的是一个兼容`UINavigationItem.titleView`的`UIControl`,它不仅包含了一个标题,还扩展了功能,...
iOS 5/6 上的 leftBarButtonItem 位置 iOS 7 上的 leftBarButtonItem 位置 修复了 iOS 7 上的 leftBarButtonItem 位置 除了在 *-Prefix.pch 文件中包含此类别外,您无需执行任何其他操作: #ifdef __OBJC__ #import...
UINavigationItem-加载 在导航栏中为用户显示加载/上传状态的简单方法。 介绍 由于再次需要这种模式,我决定制作这个类别。 所以在这里,只需几种方法并完全定制颜色。 演示 或自己构建 pod try UINavigationItem+...
`UINavigationItem` 的标题默认会显示在导航栏的中央,可以通过以下方式设置: ```swift let navigationItem = self.navigationItem navigationItem.title = "我的标题" ``` 或者,在使用 Storyboard 时,可以直接...
来源:github/UINavigationItemLicence:MIT作者:Anton UINavigationItem-Loading能够为你的导航栏上的Item添加loading的动画,自由控制动画的动静。支持左,右,和中间位置。
它的主要功能是显示和管理导航项(UIBarButtonItem),这些项可以是标题(UINavigationItem)或自定义视图。导航项可以包含标题文本、左/右bar按钮和其他可自定义的元素。 在`UINavigationBar`的层次结构中,`...
本文将详细探讨如何在iOS的导航栏上实现多按钮布局,以及由此引发的ivar(实例变量)管理问题。 首先,我们要知道,在原生的UINavigationController中,导航栏默认只支持左右两个BarButtonItem,即“返回”按钮和一...
自定义UINavigationItem.titleView并居中显示。 titleView会根据leftBarButtonItem和rightBarButtonItem调整自己的位置和大小。这就产生了居中显示的问题,当rightBarButtonItem没有被设置的时候,titleView由于偏...
在iOS应用设计中,导航栏(NavigationBar)是苹果iOS Human Interface Guidelines的重要组成部分,它提供了清晰的层次结构,帮助用户了解他们在应用中的位置,并提供返回上一级或执行其他操作的方式。 导航栏的标题...
在提供的代码库 "UINavigationItem-Loading" 中,开发者可能已经创建了一个可定制的类别,允许我们轻松地在导航栏的左侧、右侧甚至是中心位置插入一个加载动画。 加载动画可以有多种实现方式,比如使用...
标题与描述:斯坦福大学iOS开发教程2011年秋季第10讲,主要讲解了iOS应用开发中的几个核心概念和技术,包括UITabBarController、UINavigationItem以及Objective-C中的Blocks特性。 ### UITabBarController ...
本示例“ios应用源码之发布一个问题 就提供一个新demo,页面导航跳转的简单demotest 2018127”旨在通过源代码演示如何在iOS应用中实现这一功能,特别关注于2018年12月7日的编程实践。 首先,我们来探讨iOS中的主要...
本项目标题提到的“自定义导航栏,可以添加左中右barbutton”,指的是开发者通过编程方式来构建一个非标准的导航栏,不仅允许在左右两侧添加UIBarButtonItem,还能在中间位置设置额外的操作按钮。这通常涉及到对...
导航控制器通常会自动在顶部显示一个导航栏,其中包含一个“返回”按钮以及可自定义的标题,这使得用户能清晰地了解他们在应用中的位置。 导航栏上的按钮可以通过`UINavigationItem`对象进行设置,包括左侧的“返回...
`TitleView`是`UINavigationItem`的一个属性,允许开发者替换默认的标题显示。 在iOS应用设计中,自定义`UINavigationItem`的TitleView可以提升用户界面的视觉效果和交互体验。下面,我们将深入探讨如何使用代码...
4. 使用`UINavigationBar`和`UINavigationItem`来构建顶部导航栏,并调整其位置。 5. 可能还包括自定义过渡动画,使得在不同Tab之间切换时有更平滑的用户体验。 6. 最后,源码可能还会涉及如何响应用户交互,如点击...