2013-05-21 74 views
0

我的應用程序有條款&條件頁面。這是應用程序安裝後第一次可見。接受條款後,它永遠不會顯示給用戶。iOS的多重啓動圖像

我已爲第一頁製作啓動圖像,而不是用於術語頁面。但是應用程序安裝後,它應該不是第一次。

  1. 那麼我如何使用2啓動圖像基於條件?

  2. 如果我只爲我的應用程序(用於iPhone和iPad)設置肖像模式,Apple會拒絕該模式?

謝謝!

+0

對於第一次顯示,在方法編寫代碼''AppDelegate' applicationDidFinishLaunching' –

+0

它是如何可能,我用編程方式改變啓動圖像是不可能的。請解釋.. – arefin

+0

正如'Nguyen Duc'所說的,爲你的2張圖像創建單獨的'UIViewController',然後去定期Root'UIViewController'。 –

回答

0

我這解決了這種方式:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    // ... stuff 

    if([defaults objectForKey:@"GTCAccepted"]) 
    { 
     [self performSelector:@selector(gtcAccepted)]; // 
    } 
    else 
    { 
     GTCViewController* gtcViewController; // where GTCViewController is a normal UIViewController 

     //universal app 
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
      gtcViewController = [[GTCViewController alloc] initWithNibName:@"GTCViewController-iPad" bundle:nil]; 
     else 
      gtcViewController = [[GTCViewController alloc] initWithNibName:@"GTCViewController" bundle:nil]; 

     [window setRootViewController:gtcViewController]; // also can show as modal VC 
     [gtcViewController release]; 

     // if accepted, set [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"GTCAccepted"]; in the GTCViewController 
    } 
} 

和你2張發佈圖片...

嘗試接受GTC這個代碼後

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"GTCAccepted"]; 

NSURL *path2 = [[NSBundle mainBundle] URLForResource:@"[email protected]_2" withExtension:@"png"]; 
NSURL *path = [[NSBundle mainBundle] URLForResource:@"[email protected]" withExtension:@"png"]; 

[[NSFileManager defaultManager] removeItemAtURL:path error:nil]; // permission denied 

if([[NSFileManager defaultManager] copyItemAtURL:path2 toURL:path error:nil]) 
{ 
    NSLog(@"startItem replaced!"); 
}else 
{ 
    NSLog(@"oh oh... item not replaced!"); 
} 

更新:
代碼在設備上不起作用,請參閱刪除權限否認

順便說一下,如果您始終在模擬器上運行,並且每次運行時都會覆蓋它。在這裏你就沒有機會改變應用程序啓動之前的圖像;)

玩得開心:)

+0

你沒有得到我需要的東西。 – arefin

+0

Thanks !,但Default-568h @ 2x_2將如何調用,因爲我們使用Default-568h @ 2x來啓動映像。我需要更換所有尺寸的啓動圖像。請讓我通知你的想法。 – arefin

+0

您將Default-568h @ 2x_2作爲簡單圖像添加到您的目標中,就像所有其他分辨率一樣(希望您知道如何將現有文件添加到您的項目:P)。如果圖像在您的包中,您可以完全訪問它。如果你需要全部替換,那麼隨時可以這麼做^^只需複製粘貼上半部分或循環它們,這是你的決定:) – geo

1

我會回答你這個問題:

  1. 我想你不應該使用2啓動圖像。如果您想根據條件檢查圖像,則可以使用視圖控制器來顯示,動畫並轉到下一個屏幕。啓動圖像只有一個。我們無法訪問它。
  2. 只有iPhone和iPad的肖像不會被拒絕。

謝謝!

+0

謝謝! ,你是說每次應用程序將顯示第一個屏幕而不是術語屏幕。如果安裝後第一次,應用程序將通過動畫從第一個屏幕導航到術語屏幕?請讓我通知詳情。 – arefin