有条件地选择视图

时间:2013-08-07 18:33:46

标签: ios objective-c

我正在开发一个在启动时显示登录屏幕的应用。要登录用户,应用程序会与Web应用程序进行通信。该应用程序的设置是指定webapp的URL和其他所需信息的位置。

我希望应用确保在显示登录屏幕之前提供了所有必需的设置并且有效。如果设置不完整,我想通知用户设置需要不完整。

我可以修改登录视图并添加隐藏的错误文本并有条件地隐藏或显示错误文本和登录字段。但我宁愿将错误和登录视图分开。

此应用使用xib文件(无故事板)。它扩展了UIResponder <UIApplicationDelegate>,从我可以看出,这是应用程序的初始视图控制器的设置位置(application:didFinishLaunchingWithOptions:)。

我正在考虑为不完整的设置场景创建一个新的视图控制器,并在app delegate中将此设置为设置不完整时的初始视图。

有没有更好或更标准的方法呢?

2 个答案:

答案 0 :(得分:1)

在我们的类似应用中,我们的初始视图控制器是一个加载页面(带有UIActivityIndicatorView和标题/徽标)。我们的应用程序在此页面上与服务器进行初始通信。

如果他们已经登录,我们会转到主视图控制器。

如果用户未登录(并且可以这样做),我们将转到登录视图控制器。一旦他们登录,我们就会将它们发回给开头。

如果出现错误,我们会显示UIAlertView,然后将其发回给开头。

答案 1 :(得分:1)

我的应用使用位于登录/主屏幕上方的根视图控制器。我检查根目录中的有效会话。如果有一个有效的会话,我将家庭视图控制器推入堆栈。如果没有有效的会话,我会在堆栈上推送登录视图控制器。你可以采取类似的方法。