2013-11-04 29 views
-1

在我的iOS应用程序中,我有几个视图控制器(选项卡栏控制器,视图控制器,表视图控制器...)。截取视图控制器将显示并做一些东西

我想检测何时会显示视图控制器(我拥有的任何视图控制器)。这样我想首先检查用户是否连接。

如果他连接,然后我让视图控制器显示。 如果他没有连接,我想阻止视图控制器显示,我想显示我的登录视图控制器。

执行此操作的最佳方法是什么?

有没有办法拦截视图控制器更改,以便能够阻止它并做其他事情?

回答

0

最后他们是UIViewController的子类。你可以有一个UIViewController的子类,名为MyBaseViewController(例如)和方法viewWillApear:

-(void)viewWillAppear:(BOOL)animated 
{ 

// Check connection here... 

} 

在那里,你可以创建在用户连接,或不适合的逻辑。

+0

当我在viewWillAppear函数中呈现我的模态视图控制器时,它什么也不做 –

0

是的,你可以使用UIViewController的这些实例方法,如钩到的事件,

响应查看活动

– viewWillAppear: 
– viewDidAppear: 
– viewWillDisappear: 
– viewDidDisappear: 
– viewWillLayoutSubviews 
– viewDidLayoutSubviews 
0

如果使用塞格斯去从每个视图控制器到别人说去吧,你可以使用:

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

你可以让所有的检查在当前控制器的这种方法,并返回YESNO DEP以用户状态结束(连接或不连接)。

如果您返回NO,用户将不会导航到segue的目标控制器,而是可以显示Login视图控制器。

相关问题