使用类别,覆盖UIBarButtonItem的+(void)load方法
<p class="p1"><span class="s1">#import </span><UIKit/UIKit.h></p><pre name="code" class="objc">@interface UINavigationItem (CustomBackButton)
+ (void)load;
@end
#import "UINavigationItem+CustomBackButton.h"
#import <objc/runtime.h>
@implementation UINavigationItem (CustomBackButton)
+ (void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Method originalMethodImp = class_getInstanceMethod(self, @selector(backBarButtonItem));
Method destMethodImp = class_getInstanceMethod(self, @selector(myCustomBackButton_backBarbuttonItem));
method_exchangeImp