在基于导航的 iPhone 应用程序中转换到未知类型的视图
-
06-07-2019 - |
题
在我的 iPhone 应用程序中,用户从 UI表格视图 选择要查看的资源。这 UI视图控制器 在检索资源之前,处理资源所需的子类是未知的,这可能需要几秒钟。
为了响应选择操作,我在导航堆栈上推送“正在加载”视图控制器。该控制器提供了一个视图 UIActivityIndicatorView 以及(可能的)其他状态信息,并启动所选资源的下载。从这个角度来看,用户可能会取消下载,在这种情况下我将返回到资源列表。但是,如果资源到达,则会创建与其类型相对应的适当的新视图控制器。
这就是它变得粘稠的地方。如果我将新的特定于类型的视图推送到导航堆栈上,“正在加载”视图仍然在堆栈中;显然,一旦加载完成,就无需“返回”该视图。我尝试简单地将特定于类型的视图添加为“正在加载”视图的子视图,但这并没有将我的特定于类型的控制器添加到导航堆栈上,因此它没有 [自我导航控制器] 以便进一步导航。
如何用新视图“替换”导航堆栈上的当前视图?或者,更一般地说,当我还不知道将使用哪个控制器来显示正在检索的资源时,如何显示活动/进度?
我发现了非常酷的“HUD”进度指示器类,但我不希望进度指示出现在从中选择的项目列表的顶部。相反,我希望用户感觉到他们已经“去了”一个等待被填充的新空间。
我对这件事还很陌生,所以我希望我至少能连贯地表达这个问题。感谢任何人可以提供的帮助。
不隶属于 StackOverflow