在我的 iPhone 应用程序中,用户从 UI表格视图 选择要查看的资源。这 UI视图控制器 在检索资源之前,处理资源所需的子类是未知的,这可能需要几秒钟。

为了响应选择操作,我在导航堆栈上推送“正在加载”视图控制器。该控制器提供了一个视图 UIActivityIndi​​catorView 以及(可能的)其他状态信息,并启动所选资源的下载。从这个角度来看,用户可能会取消下载,在这种情况下我将返回到资源列表。但是,如果资源到达,则会创建与其类型相对应的适当的新视图控制器。

这就是它变得粘稠的地方。如果我将新的特定于类型的视图推送到导航堆栈上,“正在加载”视图仍然在堆栈中;显然,一旦加载完成,就无需“返回”该视图。我尝试简单地将特定于类型的视图添加为“正在加载”视图的子视图,但这并没有将我的特定于类型的控制器添加到导航堆栈上,因此它没有 [自我导航控制器] 以便进一步导航。

如何用新视图“替换”导航堆栈上的当前视图?或者,更一般地说,当我还不知道将使用哪个控制器来显示正在检索的资源时,如何显示活动/进度?

我发现了非常酷的“HUD”进度指示器类,但我不希望进度指示出现在从中选择的项目列表的顶部。相反,我希望用户感觉到他们已经“去了”一个等待被填充的新空间。

我对这件事还很陌生,所以我希望我至少能连贯地表达这个问题。感谢任何人可以提供的帮助。

有帮助吗?

解决方案

更新: 实际上,将“正在加载”视图显示为模式视图可能会更好。看看这个 问题 举几个例子。

你应该 流行音乐 “正在加载”视图控制器和 下载并分配“特定”视图控制器后。尝试不为其中一个或两个动作设置动画,看看什么可以提供最佳体验。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top