窈窕绅士下载,2004奥运会美国男篮,杭州十一天气
1.viewcontroller
.m
- (void)viewdidload { [super viewdidload]; 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.view addsubview:button]; self.navigationcontroller.delegate = self; } - (void)buttonclick{ ///跳转到kkviewcontroller [self performseguewithidentifier:@"pusht" sender:nil]; }
头部代理
@interface viewcontroller ()<uinavigationcontrollerdelegate>
代理方法
- (void)navigationcontroller:(uinavigationcontroller *)navigationcontroller willshowviewcontroller:(uiviewcontroller *)viewcontroller animated:(bool)animated { [self.navigationcontroller setnavigationbarhidden: [self hiddenbarvc: viewcontroller] animated: animated]; } - (bool)hiddenbarvc:(uiviewcontroller *)viewcontroller { bool needhidenaivgaionbar = no; if ([viewcontroller iskindofclass: [kkviewcontroller class]]) { needhidenaivgaionbar = yes; } return needhidenaivgaionbar; }
2.kkviewcontroller(目标viewcontroller)
新建一个kkviewcontroller
.h
@property (nonatomic,strong) id popdelegate;
.m
- (void)viewdidload { [super viewdidload]; 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.view addgesturerecognizer: poppangesture]; }
头部代理
@interface kkviewcontroller ()<uigesturerecognizerdelegate>
手势代理方法
- (bool)gesturerecognizershouldbegin:(uipangesturerecognizer *)gesturerecognizer{ ///【下面两个方法写一个】 ///全屏拖动 cgpoint tragpoint = [gesturerecognizer translationinview:gesturerecognizer.view]; if (tragpoint.x <= 0){ return no; } else{ if (self.navigationcontroller.viewcontrollers.count <= 1){ return no; } else{ return yes; } } // ///局部允许拖动 // cgpoint tragpoint = [gesturerecognizer locationinview:gesturerecognizer.view]; // nslog(@"x=%f;y=%f",tragpoint.x,tragpoint.y); // if (tragpoint.x > 60){///拖动的范围 // return no; // } // else{ // if (self.navigationcontroller.viewcontrollers.count <= 1) { // return no; // } // else{ // return yes; // } // } }
效果图
总结
以上所述是小编给大家介绍的ios 导航栏无缝圆滑的隐藏 navigationbar,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
网友评论