在iPhone上显示非模态“加载”消息的最佳方法是什么?

时间:2011-05-19 19:28:41

标签: iphone

我有一个iPhone应用程序,有时当用户按下按钮时,所选操作将花费一两分钟。我想显示一条消息,指示用户等待,但不会阻止用户同时使用该应用程序。此外,我想在邮件上自定义文本。

另一个要求是我使用TabBarController作为主导航控件。

我的想法是在屏幕顶部显示一条消息,将内容向下推20像素。请注意,由于会有多个屏幕,因此这个20像素的消息必须独立于任何一个屏幕。

我尝试了几种不同的方法,每种方法都有缺点。

1 - 拥有Root View并使用TabBarController调用AddSubView。然后我可以调整TabBarController的大小并在下面的根视图上显示消息。这会失败,因为TabBarController子视图不会收到“ViewDidAppear”消息。有趣的是,如果我稍后显示一个模态窗口,“ViewDidAppear”消息就会开始工作。但我一开始就想看ViewDidAppear。

2 - 与#1相似。有一个Root View并将TabBarController显示为模态视图。这允许ViewDidAppear工作,但是如果旋转屏幕,则旋转消息不会传播到根视图。所以我无法旋转根视图。

3 - 子类TabBarController正确处理旋转。 Apple文档说不要这样做,所以我担心我的应用程序会被拒绝,如果我可以让它工作。

4 - 在主窗口中添加两个视图。一个用于显示消息,另一个用于显示应用内容。这与选项#2的旋转问题相同。

任何建议都表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:1)

这不是您问题的准确答案,但您可以考虑在状态栏顶部使用消息。 Reeder使用它,我发现它是一个非常有趣且不引人注意的反馈的好例子(这也节省了一些像素:)。如果您想轻松完成,请查看this library(请务必阅读警告)。 Kris Van Bael在评论中提出的第二个选项是添加自定义视图,就像Instagram一样。同样,this article中有详细信息。 我希望有所帮助!