簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM