我希望你能帮助我回答一个基于 Objective-C 的问题,该问题目前正在阻止我继续我的程序。
我有一个游戏,其中您有一个按钮网格,标题为 1、2、3 等。每个按钮都会将您带到 GameScreen UIView 并传递各种信息 - 即姓名、年龄等。如果用户回答问题正确,他被带回网格 - 我现在希望他按下的按钮显示一个刻度,而不是像以前那样只是一个带有一些文本的空白按钮。
我的问题是跟踪按下的按钮。当我返回主屏幕时,我不知道如何说“将我刚刚按下的按钮更改为刻度图像”。到目前为止,所有东西都显示为 (null)。
当我首先按下一个按钮时,我使用 'if([sender.currentTitle isEqualToString:@"1"]) 来标记我想要传递的信息 - 这很好,但是在那之后当我通过另一个视图时我丢失按下了哪个按钮。
我可以通过一个变量一直传递每个按钮唯一的变量,并提出一个 if then else 语句来测试变量的值(即 if [questionansweredcorrectly isEqualToString :@"Question1"]),但我可能有一个这里有一百个以上的按钮,太麻烦了。
我希望我已经很好地解释了这种情况,并且有人能够指出我需要在这里使用的方法。
提前致谢!
编辑:
为了响应我如何加载到其他视图中,我使用以下编码风格:
GameScreen *screen = [[GameScreen alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:screen animated:YES];
这就是我进入新视图的方式 - 从另一个屏幕执行相同操作以返回带有按钮的主屏幕。我在这篇文章中不使用故事板。这是否有助于澄清我如何浏览这些视图?我不使用故事板。