在我的iPhone应用程序中,用户从 UITableView 中选择一个项目以选择要查看的资源。在检索资源之前,不知道处理资源所需的 UIViewController 子类,这可能需要几秒钟。
为了响应选择操作,我在导航堆栈上按下“加载”视图控制器。该控制器提供带有 UIActivityIndicatorView 的视图以及(可能)其他状态信息,并启动所选资源的下载。从该视图,用户可能取消下载,在这种情况下,我将返回资源列表。但是,如果资源到达,则会根据其类型创建适当的新视图控制器。
这是粘性的地方。如果我在导航堆栈上推送新的特定于类型的视图,则“加载”视图仍在堆栈中;显然,一旦加载完成,就没有必要“回到”那个视图。我试过简单地添加特定于类型的视图作为“加载”视图的子视图,但这不会将我的特定于类型的控制器放到导航堆栈上,因此它没有 [self navigationController] ] 进一步导航。
如何用新的方式“替换”导航堆栈上的当前视图?或者,更一般地说,当我还不知道将使用哪个控制器来显示正在检索的资源时,如何显示活动/进度?
我找到了很酷的“HUD”进度指示器类,但我不希望进度指示出现在所选项目列表的顶部。相反,我希望用户认识到他们“已经”去了一个等待填补的新空间。
我对这些东西很陌生,所以我希望我至少能够连贯地提出这个问题。感谢任何人提供的任何帮助。