2016-07-14 51 views
0

在我的iOS項目中,頁面有一個列表視圖,需要一段時間才能加載。我想顯示如圖所示的裝載波動here,但它將禁用整個頁面直到它加載。如果想要在加載過程中使用導航按鈕,我想讓用戶返回。Xamarin iOS:在屏幕上加載徽標時,如何保持視圖處於活動狀態

我現在使用的代碼是:

var bounds = UIScreen.MainScreen.Bounds; 
loadPop = new LoadingOverlay (bounds); 
View.Add (loadPop); 
loadingOverlay.Hide(); 

有沒有什麼辦法可以讓用戶使用導航切換頁面,而頁面仍然顯示加載符號和數據仍在加載?

+0

如果您希望用戶能夠離開,爲什麼用加載視圖覆蓋整個屏幕? – rebello95

+0

是否可以爲特定視圖設置邊界,即僅用於列表視圖,並給予用戶如果選擇返回的機會?如果是,我該如何設置它? – TheDeveloper

回答

1

其實很簡單。您只需要在列表頂部添加一個視圖(使用微調控件),並在加載數據時手動隱藏它。 如果你仍然想使用LoadingOverlay樣本,修改邊界的說法:

var navigationBarHeight = 48; // not sure what´s the actual height. Google it! 
var bounds = UIScreen.MainScreen.Bounds; 
loadPop = new LoadingOverlay (new CGRect(bounds.X, navigationBarHeight, bounds.Width, bounds.Height - navigationBarHeight); 
View.Add (loadPop); 

如果你只需要微調,也可以採取一些代碼從您提供的鏈接:

activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge); // change color here 
activitySpinner.Frame = new CGRect (
       centerX - (activitySpinner.Frame.Width/2) , 
       centerY - activitySpinner.Frame.Height - 20 , 
       activitySpinner.Frame.Width, 
       activitySpinner.Frame.Height); 
activitySpinner.AutoresizingMask = UIViewAutoresizing.All; 
AddSubview (activitySpinner); 
activitySpinner.StartAnimating(); 
+0

謝謝。如果我不需要,我不想使用'LoadingOverlay'示例。我如何才能像剛纔提到的那樣添加視圖(使用微調)? – TheDeveloper

+0

我更新了我的答案 – xleon

相關問題