Ich habe einen Basis-View-Controller und alle meine Viewcontrollers erben es.iOS Push zu einem anderen View-Controller stecken bleiben
@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
Manchmal zu einer anderen Ansicht Controller drücken wird stecken bleiben, aber die App nicht crash.Press Taste nach Hause und öffnen Sie die App wieder, es zeigt die anderen View-Controller. Ist etwas falsch mit diesem Baseviewcontroller?
mehr Code zur Verfügung stellen, das, wie Sie Kind View-Controller von der Basis-View-Controller –
One Fragen präsentieren, die ich sehr kleiner Rahmen rect Satz für die Zurück-Taste sehen ‚_backButton = [[UIButton Alloc] Initwithframe: CGRectMake (0,0, 0,0, 20,0, 20,0)]; Es sollte mindestens 45x45 sein, um den richtigen Benutzer Tap evert zu erhalten. Verwenden Sie den Knopfeinsatz, um das Bild der Schaltfläche zu platzieren und halten Sie den Rahmen 45x45 oder größer –
@ aman.sood Thx! – jxdwinter