我目前正在爲我的第一個iPhone遊戲設計結構並遇到問題。目前,我有一個'MenuViewController',它允許你選擇要玩的級別和一個LevelViewController。解除模態Segue後更新UIViewController
「MenuViewController」上的觸發了一個模式的Segue到'LevelViewController'。
在「LevelViewController」 A UIButton
觸發以下方法返回到「MenuViewController」:
-(IBAction)back:(id)sender //complete
{
[self dismissModalViewControllerAnimated:YES];
}
的問題是,我有一個UILabel
,打印總點的數量的菜單頁玩家有。每當我回到層面的菜單時,我都希望這個標籤自動更新。目前,該標籤在「MenuViewController」編程定義:
-(void)viewDidLoad {
[super viewDidLoad];
CGRect pointsFrame = CGRectMake(100,45,120,20);
UILabel *pointsLabel = [[UILabel alloc] initWithFrame:pointsFrame];
[pointsLabel setText:[NSString stringWithFormat:@"Points: %i", self.playerPoints]];
[self.pointsLabel setTag:-100]; //pointsLabel tag is -100 for id purposes
}
self.playerPoints是MenuViewController
的整數屬性有沒有一種方法,我可以更新標籤?提前致謝!
聽起來像它會工作。但我在哪裏打電話?現在,如果我將NSLog(@「菜單加載」)放入我的菜單視圖控制器的viewDidLoad中,它不會在調用dismissModalViewController之後從級別返回視圖控制器之後重新記錄「菜單加載」,這意味着viewDidLoad方法根本沒有被調用。如果我在viewDidAppear或viewWillAppear中調用它,它會起作用嗎?謝謝。 – 2012-08-15 20:59:04
首先,你確定你正在從你的LevelViewController更新MenuViewController的pointsValue屬性嗎?你是否像LevelViewController上的'delegate'屬性指向MenuViewController? – Ariel 2012-08-15 21:05:23
我不認爲我有LevelViewController上的委託屬性。這是創建一個的方式嗎? '@property(nonatomic,assign)id delegate;' –
2012-08-15 21:12:10