iOS 导航栏无缝圆滑的隐藏 Navigationbar实例代码
家电修理 2023-07-16 19:16www.caominkang.com电器维修
1.VieController
.m
- (void)vieDidLoad { [super vieDidLoad]; self.title = @"隐藏导航栏"; UIButton button = [UIButton buttonWithType:UIButtonTypeCustom]; button.backgroundColor = [UIColor lightGrayColor]; button.frame = CGRectMake(10, 100, 60, 30); [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; [self.vie addSubvie:button]; self.navigationController.delegate = self; } - (void)buttonClick{ ///跳转到KKVieController [self performSegueWithIdentifier:@"pusht" sender:nil]; }
头部代理
@interface VieController ()
代理方法
- (void)navigationController:(UINavigationController )navigationController illShoVieController:(UIVieController )vieController animated:(BOOL)animated { [self.navigationController setNavigationBarHidden: [self hiddenBarVc: vieController] animated: animated]; } - (BOOL)hiddenBarVc:(UIVieController )vieController { BOOL needHideNaivgaionBar = NO; if ([vieController isKindOfClass: [KKVieController class]]) { needHideNaivgaionBar = YES; } return needHideNaivgaionBar; }
2.KKVieController(目标VieController)
新建一个KKVieController
.h
@property (nonatomic,strong) id popDelegate;
.m
- (void)vieDidLoad { [super vieDidLoad]; self.title = @"第二个页面"; [self popSet]; } - (void)popSet{ _popDelegate = self.navigationController.interactivePopGestureRecognizer.delegate; SEL action = NSSelectorFromString(@"handleNavigationTransition:"); UIPanGestureRecognizer popPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self.popDelegate action:action]; popPanGesture.maximumNumberOfTouches = 1; popPanGesture.delegate = self; [self.vie addGestureRecognizer: popPanGesture]; }
头部代理
@interface KKVieController ()
手势代理方法
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer )gestureRecognizer{ ///【下面两个方法写一个】 ///全屏拖动 CGPoint tragPoint = [gestureRecognizer translationInVie:gestureRecognizer.vie]; if (tragPoint.x <= 0){ return NO; } else{ if (self.navigationController.vieControllers.count <= 1){ return NO; } else{ return YES; } } // ///局部允许拖动 // CGPoint tragPoint = [gestureRecognizer locationInVie:gestureRecognizer.vie]; // NSLog(@"x=%f;y=%f",tragPoint.x,tragPoint.y); // if (tragPoint.x > 60){///拖动的范围 // return NO; // } // else{ // if (self.navigationController.vieControllers.count <= 1) { // return NO; // } // else{ // return YES; // } // } }
效果图
以上所述是我给大家介绍的iOS 导航栏无缝圆滑的隐藏 Navigationbar,如果大家有任何疑问请给我留言,我会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工