![](/img/trans.png)
[英]Is rendering views to UIImages the correct way to go about animations in the iPhone SDK?
[英]IPhone SDK - Passing Variables between views with animations
嗨,我是IPhoneSDK的新手,請多多包涵。
我基本上想做的是,我有一個帶有10個按鈕的視圖,分別名為“一個”到“十個”。 我想發生的是,當我單擊一個按鈕(例如:“九”)時,它將轉到帶有動畫的另一個視圖,然后在下一個視圖上,有一個標簽,將顯示對應於哪個按鈕的文本我以前點擊過。 (例如:我按下了“九”按鈕,在下一頁,標簽會顯示“九”)
如果不是很麻煩,那么您的每個概念也將如何工作將不勝感激。
我基本上有自己的代碼,但肯定會造成混淆和錯誤。
從概念上講,到目前為止,我嘗試和學習的是:
1.)我嘗試使用addSubviews,插入子視圖,setAnimations等對視圖進行動畫處理和切換。我設法切換了視圖,但我不知道如何傳遞數據。
2.)我學習了pushViewControllers。 從我看到的教程中,我練習了使用層次表。 我了解到只有UIViewControllers和UITableViewControllers是可以推送的對象。 我知道如何在表格中應用它,但是我不知道如何在視圖中應用它(因為我的應用程序的按鈕隨機分散在屏幕上)
如果您能給我一個大致的示例,即使至少是逐步的概念,我也將不勝感激,並將一生感謝您。 我已經為此工作了好幾個星期。 很難沒有一個真正的人來向我正確解釋。
拜托了,謝謝你,先生/女士
嘗試使用標簽。 給每個按鈕(1至10)添加一個標簽,單擊按鈕時,獲取發件人的標簽。 從中您可以知道單擊了哪個按鈕。 請注意,僅當您對所有按鈕單擊使用相同的方法時才需要這樣做。
在下一個要顯示的viewcontroller中,創建NSString類型的屬性(例如clickedButton)並將其合成到.m文件中。
點擊獲取基礎上的按鈕,一個變量的文本后,創建要顯示的視圖-控制的新對象(我想你已經做到這一點),並設置該視圖-控制對象的屬性clickedButton。
NewViewController *nController = [[NewViewController alloc] initWithNibName:@"NewView"];
[nController setClickedButton:yourStringVariableWithButtonName];
[[self navigationController] pushViewController:nController animated:YES];
在NewViewController中,將標簽的文本設置為clickedButton
[yourLabel setText:clickedButton];
希望能有所幫助。
沒關系! 我完全理解視圖控制器和導航控制器的概念!
不過有一個問題。 我打算在按鈕中分配此代碼。 我只是不知道如何從每個按鈕獲取標簽,所以我可以使用它:
-(IBAction)loadZodiac:(NSInteger)標簽{
NSString *zodiac;
switch (tag) {
case 1:
zodiac = @"Aries";
break;
case 2:
zodiac = @"Taurus";
break;
case 3:
zodiac = @"Gemini";
break;
case 4:
zodiac = @"Cancer";
break;
case 5:
zodiac = @"Leo";
break;
case 6:
zodiac = @"Virgo";
break;
case 7:
zodiac = @"Libra";
break;
case 8:
zodiac = @"Scorpio";
break;
case 9:
zodiac = @"Sagittarius";
break;
case 10:
zodiac = @"Capricorn";
break;
case 11:
zodiac = @"Aquarius";
break;
case 12:
zodiac = @"Pisces";
break;
default:
zodiac = @"None Selected";
break;
}
lovescopesReading = [[LovescopesReading alloc] initWithNibName:@"LovescopesReading" bundle:nil];
lovescopesReading.title = zodiac;
lovescopesReading.message = zodiac;
Lovescopes6AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.navController pushViewController:lovescopesReading animated:YES];
}
NSString *zodiac;
for (UIButton *button in [self.view subviews]) {
switch (button.tag) {
case 1:
zodiac = @"Aries";
break;
case 2:
zodiac = @"Taurus";
break;
....
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.