iOS 全局修改UINavigation 后退按钮

快两年没有更新blog了,现在有点时间随便写点东西吧。

做iOS项目中,可能会经常遇到要定制后退按钮的情况,比如把后退按钮的title固定为“返回”(修改title对后面push的vc生效),比如用图片,,这时候大家一般会选择添加一个vc的基类,因为这个问题其实很简单,随便做点什么都能解决,今天我用另一种优雅的方法来解决这个问题。

默认iOS7的后退按钮是一个箭头+文字,如果想只要箭头的话,只要把title设为空就行了,我先用普通的类别方式来做,首先添加类别:

allocstyleaction

}

这种方式乍一看可以达到目的,运行起来看也是那么回事,但是如果你在某个vc里面用:

self.navigationItem.backBarButtonItem想取得backBarButtonItem然后修改默认title的话,就不行了,这样一来就违背了我们使用类别的初衷:不影响原有的代码及使用方式。接下来我们使用Swizzling。首先添加load方法交换实现:

+(myCustomBackButton_backBarbuttonItem

allocstyleaction

OBJC_ASSOCIATION_RETAIN_NONATOMIC

}

UPDATED:

忘记了很重要的一点:要导入<objc/runtime.h>

版权声明:如需转载,请注明出处,谢谢!

自信是一个人的胆,有了这个胆,你就会所向披靡!

iOS 全局修改UINavigation 后退按钮

相关文章:

你感兴趣的文章:

标签云: