2011-05-19 67 views
1

我有一个iPhone应用程序,有时当用户按下按钮时,选定的操作将需要一两分钟。我想显示一条消息指示用户等待,但同时不阻止用户使用该应用程序。另外我想在邮件上定制文字。在iPhone上显示非模态“加载”消息的最佳方式是什么?

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

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

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

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

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

3 - 子类TabBarController正确处理旋转。苹果公司的文件说不这样做,所以我担心我的应用程序将被拒绝,如果我能使它工作。

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

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

+1

对于案例#2:手动通知从根VC到TabBarController。 – TheBlack 2011-05-19 20:49:00

+1

在相关的选项卡按钮上考虑了'徽章'说'12%'? – 2011-05-19 21:24:43

+0

@TheBlack - 谢谢,会试试看。 – jriggs 2011-05-20 01:26:05

回答

1

这不是您的问题的确切答案,但您可以考虑在状态栏顶部使用消息。 Reeder使用它,我觉得它是一个非常有趣和不显眼反馈的好例子(这也可以节省一些像素:)。如果你想轻松一下,看看this library(一定要阅读警告)。 第二个选项,也是由Kris Van Bael在评论中建议的,就是添加一个自定义视图,就像Instagram一样。再次,在this article有详细的信息。 我希望有帮助!

+0

不确定我是否会使用这些想法,但我一定会考虑它们。谢谢。状态栏警告太糟糕了。这看起来是一个非常好的解决方案。 – jriggs 2011-05-20 01:24:58

+0

徽章不是自定义视图。这是UITabItem – 2011-05-20 05:21:22

+0

的标准功能哦,我认为你的意思是“自定义徽章”,因为“12”之后的“%”,就像链接文章上的叠加视图一样。 – phi 2011-05-20 07:15:41

相关问题