在我的iOS应用程序中,我有几个视图控制器(选项卡栏控制器,视图控制器,表视图控制器...)。截取视图控制器将显示并做一些东西
我想检测何时会显示视图控制器(我拥有的任何视图控制器)。这样我想首先检查用户是否连接。
如果他连接,然后我让视图控制器显示。 如果他没有连接,我想阻止视图控制器显示,我想显示我的登录视图控制器。
执行此操作的最佳方法是什么?
有没有办法拦截视图控制器更改,以便能够阻止它并做其他事情?
在我的iOS应用程序中,我有几个视图控制器(选项卡栏控制器,视图控制器,表视图控制器...)。截取视图控制器将显示并做一些东西
我想检测何时会显示视图控制器(我拥有的任何视图控制器)。这样我想首先检查用户是否连接。
如果他连接,然后我让视图控制器显示。 如果他没有连接,我想阻止视图控制器显示,我想显示我的登录视图控制器。
执行此操作的最佳方法是什么?
有没有办法拦截视图控制器更改,以便能够阻止它并做其他事情?
最后他们是UIViewController
的子类。你可以有一个UIViewController
的子类,名为MyBaseViewController
(例如)和方法viewWillApear:
-(void)viewWillAppear:(BOOL)animated
{
// Check connection here...
}
在那里,你可以创建在用户连接,或不适合的逻辑。
是的,你可以使用UIViewController的这些实例方法,如钩到的事件,
响应查看活动
– viewWillAppear:
– viewDidAppear:
– viewWillDisappear:
– viewDidDisappear:
– viewWillLayoutSubviews
– viewDidLayoutSubviews
如果使用塞格斯去从每个视图控制器到别人说去吧,你可以使用:
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
你可以让所有的检查在当前控制器的这种方法,并返回YES
或NO
DEP以用户状态结束(连接或不连接)。
如果您返回NO
,用户将不会导航到segue的目标控制器,而是可以显示Login视图控制器。
当我在viewWillAppear函数中呈现我的模态视图控制器时,它什么也不做 –