我在加载tableView之前尝试创建一个加载视图控制器。这很好。
然而,当显示tableView时,我得到一个后退按钮。单击它会将我带回加载视图。我猜这是因为它嵌入在导航控制器内部。请指教。
答案 0 :(得分:0)
如果你想隐藏后退按钮,只需添加
self.navigationController.navigationBarHidden=YES;
在第三个View控制器的viewDidLoad中 否则添加
self.navigationItem.hidesBackButton=YES;
答案 1 :(得分:0)
不要通过navigationController推送商品加载视图控制器,只需在viewDidLoad方法中查看offerviewcontroller(第三个)上的视图:
OffersLoadViewController *offerLoadView = [[OffersLoadViewController alloc] initWithNibName:@"OffersLoadViewControllerv" bundle:nil];
[self.view addSubview: offerLoadView.view];
处理加载后只需删除它:
[offerLoadView.view removeFromSuperview];
答案 2 :(得分:0)
根据您的需要,您可以选择不同的选项:
答案 3 :(得分:0)
导航控制器将保留您在导航堆栈中推送的所有控制器。
因此,如果您使用导航控制器推送liftviewcontroller,然后推送tableview控制器,导航堆栈将包含控制器,这就是为什么按下后退按钮,您将导航到loadingViewController。
我建议在加载tableview之前删除loadingviewcontroller并在tableviewcontroller中显示加载视图。就像在tableviewcontroller的viewWillAppear中一样,只需添加带有加载指示符的UIView,并将其添加为tableviewcontroller的子视图,并在准备好显示tableview后将其删除。
答案 4 :(得分:0)
好吧,如果您只想隐藏后退导航栏按钮,可以执行此操作
[self.navigationController.navigationItem setHidesBackButton:YES animated:YES];
但显示加载控制器视图的更好方法是
[self.view addSubview:loadingController.view];
[loadingController willMoveToParentViewController:self];
[self addChildViewController:loadingController];
[loadingController didMoveToParentViewController:self];
只需隐藏它,或在不需要加载视图时将其从superView
中删除。您甚至可以在隐藏时为其设置动画,以便产生更好的效果。
答案 5 :(得分:0)
这里有一个架构问题,最好的方法如下:
startAnimating
UIActivityIndicatorView
。stopAnimating
UIActivityIndicatorView
并再次显示表格视图。就是这样;)