摸索了一阵,实在难用Segue的方式把新View整个盖在现有的Navigation Controller之上,
索性把View的color 设置成 Clear Color,
调用的时候用这句,可以完整覆盖Navigation Controller
//先生成viewController
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];//@"Main.storyboard"
AgendaVenueViewController *destination = [storyboard instantiateViewControllerWithIdentifier:@"AgendaVenueViewControllerInstance"];
[destination setStrVenueName:strVenueName];
//贴上去
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.window.viewForBaselineLayout addSubview:destination.view];
效果如图:
2015-10-10 改动:
上面的结果初看很不错,但在autolayout下,是有问题的,iphone6 会自动向上移动了44像素,
而且最底下的关闭按钮出不来,,抓狂。
代码修改不尽人意。
经过昨晚思考,决定换用MBProgressHub的 custom view mode, 代码如下:
if (mbphGoing == nil) {
mbphGoing = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
}
[self.navigationController.view addSubview:mbphGoing];
self.viewGoing.hidden = NO;
mbphGoing.customView = self.viewGoing;
mbphGoing.mode = MBProgressHUDModeCustomView;
mbphGoing.delegate = self;
mbphGoing.labelText = @"";
[mbphGoing show:YES];
显示结果
在没有修改文字的情况下很好,一旦加载前修改了,情况又变有偏差。待后面解决。