我正在创建一个简单的应用程序,我们想要向用户提出10个不同的问题和4个选项。
因此,当应用加载时,屏幕有1个问题,4个选项,背景图像和转到按钮。
我已将所有这10个问题与他们的选项和背景图像存储在多维数组中。
当我点击go按钮时,我想刷新同一个屏幕,并希望用他们的选项和背景图像显示下一个问题。
当我回去时。
我是iOS的新手,我应该采取什么方法来实现这个目标?
是否可以使用单个屏幕或我必须制作多个屏幕。
有什么想法吗?有什么建议吗?
答案 0 :(得分:0)
在您的viewDidLoad等上添加此
[ButtonOne addTarget:self action:@selector(ButtonOne) forControlEvents:UIControlEventTouchUpInside];
[ButtonTwo addTarget:self action:@selector(ButtonTwo) forControlEvents:UIControlEventTouchUpInside];
[ButtonThree addTarget:self action:@selector(ButtonThree) forControlEvents:UIControlEventTouchUpInside];
[ButtonFour addTarget:self action:@selector(ButtonFour) forControlEvents:UIControlEventTouchUpInside];
开始是按钮名称,选择器对于单击按钮时要运行的方法至关重要。
我现在要做的是为每个问题做一个整数。这个整数将决定问题是对还是错。因此,根据问题,整数将被分配给按钮编号,例如如果按钮2为右,则对于该特定问题,整数将被分配给2。我还将使用第二个整数来找出用户所处的问题。
int QuestionNumber;
int Right[11];
Right[1] = *What ever the right button for question 1 is*
....
Right[10] = *What ever the right button for question 10 is*
我现在要为每个按钮创建方法。请注意我只会为其中一个按钮执行此操作,因为其余按钮实际上是相同的。
-(void)ButtonOne
{
switch (QuestionNumber) {
case 1:
if (Right[1] == 1) { //Change the Right[] number depending on question and change the == (1) depending on the button
NSLog(@"Correct Answer");
[ButtonOne setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonTwo setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonThree setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonFour setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
Label.text = @"NEXT QUESTION";
BackGround.image = [UIImage imageNamed:@""];
QuestionNumber++;
} else {
NSLog(@"Got Question wrong");
//Do whatever you want if question is wrong
}
break;
....
case 10:
if (Right[10] == 1) {
NSLog(@"Correct Answer");
[ButtonOne setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonTwo setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonThree setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
[ButtonFour setTitle:@"ANSWER TO OTHER QUESTION" forState:UIControlStateNormal];
Label.text = @"NEXT QUESTION";
BackGround.image = [UIImage imageNamed:@""];
} else {
NSLog(@"Got Question wrong");
//Do whatever you want if question is wrong
}
break;
default:
break;
}
}
现在正在做的是如果你得到一个正确的问题,它会自动进入下一个问题。如果你想回去,只需添加一个按钮并拥有:QuestionNumber = QuestionNumber -1;
当然,再次在该按钮上有一个switch语句,以找出应该显示的内容。
如果您是新手我会建议您观看此YouTube系列,因为它会对您有所帮助。 Here