2012-07-30 128 views
0

我一直在爲我的應用程序的全屏加載視圖,但它不能阻止任何用戶交互。我實現它的方法是這樣的:全屏加載視圖沒有工作

  1. 創建一個單獨的對象 - LoadingView
  2. 呼叫[LoadingView show] - 添加加載視圖[[[UIApplication sharedApplication] delegate] window]

所以我要問:

  1. 我的觀念錯了嗎?
  2. 是否有任何方法調用可以禁用與我的應用程序的所有用戶交互?
  3. 有沒有更好的方法來做到這一點? (我喜歡裏面寂寂原則比只用別人的庫)

感謝

+0

您可以將您的LoadingView控制器的視圖添加爲當前視圖控制器的子視圖。然後設置屬性self.view.window.userInteractionEnabled = NO; – Cosmin 2012-07-30 08:38:44

回答

1

我用這樣的方式來阻止用戶交互:

  1. 創建的UIView與窗框
  2. 集視圖的用戶交互啓用爲真
  3. (可選)添加UIActivityIndi​​cator以查看
  4. 將視圖添加到窗口su bviews
  5. ,當我需要表現出來我設置隱藏NO並使用bringSubviewToFront函數來顯示加載視圖
  6. 我不需要做到這一點我設置隱藏的YES和使用sendSubviewToBack

id application = [[UIApplication sharedApplication] delegate]; 
UIView *loadingView = [[UIView alloc] initWithFrame:[[application window] frame]]; 
loadingView.userInteractionEnabled = YES; 
loadingView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5]; 
[[application window] addSubview:loadingView]; 
0

您想在應用程序啓動時創建啓動畫面嗎?如果是這樣,您只需將名爲Default.png和/或[email protected]的圖像文件(用於視網膜顯示)添加到您的項目中即可。此圖片將作爲應用啓動時的啓動畫面。

您還可以控制啓動畫面info.plist文件。

瞭解更多關於iOS啓動屏幕here