Вам нужно установить кнопку возврата предыдущего контроллера представления в пустую строку, как это.
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.navigationItem setBackBarButtonItem:backButtonItem];
Но если это приложение-широкий хотел поведение, то ваш может либо сделать это в базовом UIViewController
подкласса или сделать это swizzling :)
UIViewController + EmptyBackButton.h
@interface UIViewController (EmptyBackButton)
@end
UIViewController + EmptyBackButton.m
#import "UIViewController+EmptyBackButton.h"
#import <objc/runtime.h>
@implementation UIViewController (EmptyBackButton)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(viewDidLoad);
SEL swizzledSelector = @selector(mob_viewDidLoad);
Method originalMethod = class_getInstanceMethod(class, originalSelector);
Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);
BOOL didAddMethod = class_addMethod(class, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod));
if (didAddMethod) {
class_replaceMethod(class, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}
#pragma mark - Method Swizzling
- (void)mob_viewDidLoad {
[self mob_viewDidLoad];
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.navigationItem setBackBarButtonItem:backButtonItem];
}
@end
Это добавит пустую кнопку возврата ко всем подклассам UIViewController
в viewDidLoad
.
Также вы можете взглянуть на сообщение в блоге, которое я написал некоторое время назад около Empty Back Buttons.
Пожалуйста, найдите время и объясните, что вы здесь делаете. Это может помочь не только OP, но и всем, кто ищет решение. – mwfire
Большое спасибо :) Этот подход работает повсюду, в том числе и на iPhone 6 Plus – whiteRussian
mwfire, я просто создаю представление в виде рамки для моей кнопки, чем я создаю пользовательский бит, потому что только пользовательская кнопка может включать изображение, чем я вставляю свое изображение, вы можете использовать свое имя изображения, например img.png (из поддерживаемой папки в вашем проекте), так как вы можете видеть, что первые 6 строк создают вашу настраиваемую кнопку, следующие строки привязывают вашу кнопку к navigationController. Функция initWithCustomView является основной функцией в этом процессе. [backBtn addTarget: self.navigationController action: .... это для возврата в предыдущий экран, вы можете отклонить эту функцию –