2011-05-19 52 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

相關問題