// // Copyright © 2015 dahua. All rights reserved. // #import #import #import #import #import #import #import #import #import "DHNavBarPresenter.h" #import @interface DHBaseTableViewController () @property (strong, nonatomic)DHNavBarPresenter *navBarPresenter; @end @implementation DHBaseTableViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor dhcolor_c7]; self.tableView.separatorColor = [UIColor dhcolor_c8]; self.extendedLayoutIncludesOpaqueBars = NO; self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight; [self.navBarPresenter viewDidLoad]; UIImageView * bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"common_listbg"]]; [self.view addSubview:bgImageView]; [bgImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self.view); }]; } - (void)onLeftNaviItemClick:(UIButton *)button { [self.navigationController popViewControllerAnimated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } #pragma mark - 懒加载 - (DHNavBarPresenter *)navBarPresenter{ if (_navBarPresenter == nil) { _navBarPresenter = [DHNavBarPresenter new]; _navBarPresenter.viewController = self; } return _navBarPresenter; } #pragma mark - View lifecycle - (void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSString* cName = [NSString stringWithFormat:@"%@", [self class], nil]; NSLog(@"viewDidAppear------%@------", cName); [self.navBarPresenter viewDidAppear]; } - (void) viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; NSString *cName = [NSString stringWithFormat:@"%@", [self class], nil]; NSLog(@"viewDidDisappear------%@------", cName); if ([UIApplication lc_isAppLandscape]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } else { self.navigationController.interactivePopGestureRecognizer.enabled = YES; } } #pragma mark - presentViewController - (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion { [[UIApplication sharedApplication].delegate.window dh_popViewDismiss]; viewControllerToPresent.modalPresentationStyle = UIModalPresentationFullScreen; [super presentViewController:viewControllerToPresent animated:flag completion:completion]; } #pragma mark - Rotate - (BOOL)shouldAutorotate { return YES; } - (UIInterfaceOrientationMask)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } #pragma mark - IDHContentVC - (UINavigationBar *)navBar { return self.navBarPresenter.customNavigationBar; } #pragma mark - 导航栏相关 //为了兼容旧的代码的写法 - (UINavigationItem *)navigationItem { if ([self.parentViewController isKindOfClass:[DHContainerVC class]]) { return self.navBarPresenter.customNavigationItem; } return super.navigationItem; } - (UINavigationItem *)superNavigationItem { return super.navigationItem; } - (void)setTitle:(NSString *)title { [super setTitle:title]; self.navBarPresenter.customNavigationItem.title = title; } - (void)setNavigationBarHidden:(BOOL)navigationBarHidden { self.navBarPresenter.navigationBarHidden = navigationBarHidden; } - (void)setNavigationBarHidden:(BOOL)navigationBarHidden animated:(BOOL)animated { [self.navBarPresenter setNavigationBarHidden:navigationBarHidden animated:animated]; } - (BOOL)navigationBarHidden { return self.navBarPresenter.navigationBarHidden; } - (void)setIsBarShadowHidden:(BOOL)isBarShadowHidden { self.navBarPresenter.isBarShadowHidden = isBarShadowHidden; } - (BOOL)isBarShadowHidden { return self.navBarPresenter.isBarShadowHidden; } @end