У меня есть контроллер базового представления, и все мои контроллеры view наследуют его.iOS Push to another view controller застрял
@interface BaseViewController() <UIGestureRecognizerDelegate>
@end
@implementation BaseViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.tabBarController.tabBar.translucent = NO;
self.navigationController.navigationBar.translucent = NO;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
self.view.backgroundColor = [UIColor colorWithRed:0.95 green:0.95 blue:0.95 alpha:1];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.backButton];
self.navigationItem.backBarButtonItem.title = @"";
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
- (void) popToPreViewController {
[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark - getter and setter
- (UIButton *) backButton {
if (!_backButton) {
_backButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 20.0, 20.0)];
[_backButton addTarget:self action:@selector(popToPreViewController) forControlEvents:UIControlEventTouchUpInside];
[_backButton setImage:[UIImage imageNamed:@"main_back"] forState:UIControlStateNormal];
_backButton.hidden = YES;
}
return _backButton;
}
@end
Иногда нажать на другой контроллер зрения застрянет, но приложение не crash.Press кнопки домой и открыть приложение снова, это показывает контроллер другого вида. Что-то не так с этим базовым контроллером?
предоставить больше коды, то, как вы представляете контроллеры отображения ребенка от базового вида контроллера –
Один вопросов, которые я могу видеть очень небольшой набор кадров прямоугольника для кнопки возврата «_backButton = [[UIButton Alloc] initWithFrame: CGRectMake (0,0, 0,0, 20,0, 20,0)]; Он должен быть не менее 45x45 для получения правильного обратного переключения пользователя. Используйте кнопку вставки, чтобы поместить изображение кнопки и сохранить рамку 45x45 или больше –
@ aman.sood Thx! – jxdwinter