繁体   English   中英

向用户展示加载iPhone的最佳方式是什么?

[英]What's the best way to show the user something is loading on the iPhone?

最近我一直在寻找一种方法来向用户展示正在加载的东西。 我确信拥有iPhone的人之前已经看过这是应用程序,但最好的方法是什么?

我开始使用UIProgressHUD ,但有人向我指出,你不应该真正使用私有(未记录的)API。

然后我转移到是一个名为MBProgressHUD的自定义版本,但是根据我的经验,这不会显示加载部分,当试图不是从按钮调用它时我发现它非常多(这不是很难)通过单击离开给崩溃的示例代码)。

然后我继续从詹姆斯·布兰南James Brannan)的书中找到这个,但是我不太确定为什么他说这是做这件事的“正确方法”当我在过去见过很多看起来像UIProgressHUD的应用程序时。

有没有人有任何想法?

编辑: 这很不错......

谢谢

没有一种“最好”的方式。 另一种方法是简单地将UIView放在主视图的子视图上,标记其userInteraction属性并在需要时将其灰显。 你甚至可以添加一个UIActivityIndicator作为这个“前景” UIView的子视图,在需要时启动它的动画。 加载完成后,隐藏/停止活动指示器并清除前景视图的颜色。

如果您正在谈论通过网络加载,首先要启用状态栏网络活动指示器:

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

请注意,完成后必须将其设置为NO! 这应该只用于表示网络活动。

这有点微妙但是, 如果你可以准确地告诉你需要多长时间,你可以确定一些进度指示器是一个好主意 - 下载你知道大小和计数传入字节的内容,或上传你监视字节输出和知道总大小。

如果您的通话时间非常短或者不知道大小(Web服务调用是一个很好的例子)那么使用UIActivityIndi​​cator进行某种覆盖可能会非常轻松(您还可以创建一个自定义变体,其中添加了一组图像)一个动画的UIImage视图)。 关键是,如果可能的话,它应该阻止用户做其他事情。

此外,如果您有多个事情发生,您可能想要添加描述您所处状态的消息(例如,“调整图像”,“上传图像”等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM