Существует множество вопросов о том, как заменить кнопку возврата по умолчанию на пользовательскую кнопку возврата, но никто из них не знает о том, как заменить пользовательскую кнопку возврата по умолчанию.Заменить пользовательскую кнопку возврата по умолчанию
У меня есть веб-представление, когда [self.webView canGoBack] == ДА, появляется пользовательская кнопка возврата. Но после того, как вы вернетесь полностью, эта пользовательская кнопка возврата все еще существует, а не по умолчанию. Есть ли что-то, что я могу сделать, чтобы заменить мою пользовательскую кнопку возврата по умолчанию, когда [self.webView canGoBack] == НЕТ?
Вот мой соответствующий код:
@interface MerchViewController() <UIWebViewDelegate>
@property UIWebView *webView;
@end
@implementation MerchViewController
- (instancetype)init
{
self = [super init];
if (self) {
self.navigationItem.title = @"Merchandise";
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIWebView *webView = [[UIWebView alloc] init];
webView.scalesPageToFit = YES;
self.view = webView;
self.webView = webView;
webView.delegate = self;
[self setURL];
}
- (void)updateBackButton {
if ([self.webView canGoBack]) {
{
[self.navigationItem setHidesBackButton:YES animated:NO];
//UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backTickets"] style:UIBarButtonItemStylePlain target:self action:@selector(backWasClicked:)];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] backButtonWith:@"Back" tintColor:[UIColor orangeColor] target:self andAction:@selector(backWasClicked:)];
backItem.tintColor = [UIColor orangeColor];
[self.navigationItem setLeftBarButtonItem:backItem animated:NO];
}
}
else {
/*
[self.navigationItem setHidesBackButton:YES animated:NO];
//UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backTickets"] style:UIBarButtonItemStylePlain target:self action:@selector(backWasClicked:)];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] backButtonWith:@"Fan Zone" tintColor:[UIColor orangeColor] target:self andAction:@selector(openMenu:)];
backItem.tintColor = [UIColor orangeColor];
[self.navigationItem setLeftBarButtonItem:backItem animated:NO];
*/
}
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
[self updateBackButton];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self updateBackButton];
[_spinner stopAnimating];
}
- (void)backWasClicked:(id)sender {
if ([self.webView canGoBack]) {
[self.webView goBack];
}
}
- (void)setURL
{
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.lawlorscustom.com/omaha-lancers-hockey"]];
NSLog(@"loadRequest: %@", req);
[(UIWebView *)self.view loadRequest:req];
}
@end
«еще» часть в «updateBackButton» комментируется, потому что, если я не комментирую его, когда просмотр первой загрузки есть две кнопки назад перекрывающая ,