1
我有下面的代碼iOS6的工作之前,但我無法找到一個簡單的方法與iOS6的,故事和Xcode的4.5調用從同一按鈕,根據條件的兩個不同的控制器
-(IBAction) ButtonPressed:(id)sender{
if(condition == 1]) {
FirstController *firstController = [[FirstController alloc]initWithNibName:nil bundle:nil];
firstController.delegate = self;
firstController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:firstController animated:NO completion:nil];
[firstController release];
}
SecondController *secondController = [[SecondController alloc]initWithNibName:nil bundle:nil];
secondController.delegate = self;
secondController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:secondController animated:NO completion:nil];
[secondController release];
}
做此用工作正常。如果我將代碼保留在iOS6中,則沒有任何控制器可以正常顯示。嘗試將控制器導航轉換到故事板並不會有什麼幫助,因爲看起來我只能使用一個動作來觸發使用ButtonPressed中的模態漸變到其中一個或另一個的轉換。 將第一個控制器嵌入到第二個控制器的viewdiload中有其自身的問題。如果它在viewdidload上不能像其他人一樣正常工作。如果我把它放在viewdidappear中,第二個控制器將首先顯示創建一個令人不快的UI。有任何想法嗎?
一個FYI:目標C中的最佳實踐說,你應該用小寫字母開始你的方法名稱。換句話說,將您的「ButtonPressed」操作聲明更改爲「buttonPressed」。 –
你錯過了這裏的其他條件嗎?如果條件== 1,你是否同時執行? – iDev
不,如果條件是1,那麼它將首先運行firstController,然後運行第二個。如果條件不是一個,那麼它只會運行第二個控制器。我想做的事情是上傳文件到互聯網。如果用戶沒有註冊,那麼他必須通過第一個控制器(註冊),然後是第二個控制器(上傳)。如果用戶已註冊,則可以直接轉到上傳控制器。 –