簡體   English   中英

在iPhone上顯示非模式“正在加載”消息的最佳方法是什么?

[英]What is the Best Way to Display a Non-Modal “Loading” Message on IPhone?

我有一個iPhone應用程序,有時當用戶按下按鈕時,所選操作將花費一兩分鍾。 我想顯示一條消息,指示用戶等待,但同時不要阻止用戶使用該應用程序。 我也想在消息上自定義文本。

另一個要求是,我使用TabBarController作為主要的導航控件。

我的想法是在屏幕頂部顯示一條消息,將內容下移20個像素。 請注意,由於會有多個屏幕,因此這20個像素的消息必須獨立於任何單個屏幕。

我嘗試了幾種不同的方法,每種方法都有缺點。

1-擁有一個根視圖,並使用TabBarController調用AddSubView。 然后,我可以調整TabBarController的大小,並在下面的“根視圖”上顯示該消息。 這將失敗,因為TabBarController子視圖不會收到“ ViewDidAppear”消息。 有趣的是,如果稍后再顯示一個模式窗口,則“ ViewDidAppear”消息開始起作用。 但我希望一開始就使用ViewDidAppear。

2-與#1類似。 擁有一個根視圖,並將TabBarController顯示為模式視圖。 這使ViewDidAppear可以工作,但是如果旋轉了屏幕,則旋轉消息不會傳播到“根視圖”。 因此,我無法旋轉“根視圖”。

3-子類TabBarController可以正確處理旋轉。 蘋果文檔說不要這樣做,所以我擔心如果我的應用程序可以運行,我的應用程序將被拒絕。

4-在主窗口中添加兩個視圖。 一種用於顯示消息,另一種用於應用程序內容。 這遭受與選項#2相同的旋轉問題。

任何建議表示贊賞。 謝謝。

這不是您問題的確切答案,但是您可以考慮在狀態欄頂部使用一條消息。 Reeder使用它,我發現它是一個非常有趣且很好的反饋示例(它還為您節省了一些像素:)。 如果您想輕松制作它,請查看此庫 (一定要閱讀警告)。 克里斯·范·貝爾(Kris Van Bael)在評論中還建議第二種選擇,就是像Instagram一樣添加自定義視圖。 同樣, 本文提供了詳細信息。 希望對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM