Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将UIAlertView与UIActivityIndicator一起使用的最佳实践是什么_Iphone_User Interface_Uialertview - Fatal编程技术网

Iphone 将UIAlertView与UIActivityIndicator一起使用的最佳实践是什么

Iphone 将UIAlertView与UIActivityIndicator一起使用的最佳实践是什么,iphone,user-interface,uialertview,Iphone,User Interface,Uialertview,我在这里读了很多关于UIAlertView的误用,以及苹果可能会拒绝UIAlertView被过度使用的应用 在我编写的应用程序中,我很少通过在线请求和重新计算内部数据结构来更新数据。虽然这是有效的,并在第二个线程中运行,但我不希望用户触摸GUI和应用程序的当前设置等。因此,我决定在几秒钟内显示一个带有UIActivityIndicator的UIAlertView和一个UIProgesView,当后台工作完成时,它会自动关闭 你认为这是违反HIG规则的理由吗?如果是这样的话,您对此类工作流程的良好

我在这里读了很多关于UIAlertView的误用,以及苹果可能会拒绝UIAlertView被过度使用的应用

在我编写的应用程序中,我很少通过在线请求和重新计算内部数据结构来更新数据。虽然这是有效的,并在第二个线程中运行,但我不希望用户触摸GUI和应用程序的当前设置等。因此,我决定在几秒钟内显示一个带有UIActivityIndicator的UIAlertView和一个UIProgesView,当后台工作完成时,它会自动关闭

你认为这是违反HIG规则的理由吗?如果是这样的话,您对此类工作流程的良好实践有何建议

干杯,
Konran

我会使用MBProgressHUD,而不是UIAlertView。它看起来更好,并且有一个内置的活动指示器。苹果在他们的一些应用程序中使用了类似的组件


我认为不应该使用alertView来阻止用户与屏幕交互。您可以轻松地在内容顶部添加一个“掩码”。创建一个视图;给背景色0.5 alpha黑色,并将其添加为主视图的子视图。这将使其他内容变暗,并阻止用户与之交互。

我在几个应用程序中使用了带有集成活动指示器的警报视图,但没有一个应用程序被拒绝进入AppStore。如果你没有在警报视图中显示任何按钮,用户甚至不会把它看作是一个警告视图,所以我看不出有什么问题。

如果你要阻止用户交互,我认为使用警报视图比在GUI顶部添加暗视图要好得多。alert视图将使背景变暗,其额外的好处是让用户知道发生了什么,而不仅仅是让他处于黑暗中。但是alertView的设计目的是在用户阅读了它所说的内容后,用户可以忽略它。阻止用户解除alertView听起来不太好。随着屏幕变暗;您可以添加任何进度条或其他文本,告诉用户正在发生什么,请稍候。尽管TomSwift的解决方案看起来效果更好。好吧,但如果你提到hennes在alertView没有任何按钮可关闭时的声明(就像我的应用程序一样),用户不会将其视为普通警报…谢谢大家!这个解决方案看起来真的很好,我一定会尝试:-)