嗨,我是IPhoneSDK的新手,请耐心等待。
我基本上要做的是我有一个带10个按钮的视图,分别命名为“一个”到“十个”。我想要发生的是,当我点击一个按钮(例如:'9')时,它将转到另一个视图,带有动画,然后在下一个视图上,有一个标签将显示对应于哪个按钮的文本我之前点击过。 (例如:我按下'九'按钮,在下一页上,标签会说'九')
如果不是很麻烦,我们将非常感谢你的每一个概念都是如此。
我基本上拥有自己的代码,但肯定会让人感到困惑和错误。
从概念上讲,到目前为止我尝试和学习的是:
1。)我尝试使用addSubviews动画和切换视图,插入子视图,setAnimations等。我设法切换视图,但我不知道如何传递数据。
2.)我学习了pushViewControllers。从我看到的教程中,我练习了一个分层表。我了解到只有UIViewControllers和UITableViewControllers是唯一可以推送的。我知道如果它在表格中如何应用它但我不知道如何在视图中应用它(因为我的应用程序按钮随机分散在屏幕上)
如果你能给我一个关于我正在尝试做的事情的粗略样本,即使至少对于一步一步的概念,我将非常感激,并将感谢你的一生。几个星期以来,我一直在研究这个问题。并没有一个真正的人向我解释它是很困难的。
请谢谢你,先生/妈妈
答案 0 :(得分:1)
尝试使用标签。为每个按钮(1到10)添加标签,单击按钮时,获取发件人的标签。从这里你可以知道点击了哪个按钮。请注意,只有在对所有按钮单击使用相同的方法时才需要这样做。
在要显示的下一个viewcontroller中,创建一个NSString类型的属性(比如clickedButton)并在.m文件中合成它。
根据点击的按钮获取变量中的文本后,创建一个要显示的viewcontroller的新对象(我想你已经这样做了)并设置了这个viewcontroller对象的属性 clickedButton
NewViewController *nController = [[NewViewController alloc] initWithNibName:@"NewView"];
[nController setClickedButton:yourStringVariableWithButtonName];
[[self navigationController] pushViewController:nController animated:YES];
在NewViewController中,将标签的文本设置为clickedButton
[yourLabel setText:clickedButton];
希望有所帮助。
答案 1 :(得分:0)
现在好了!我完全理解viewcontrollers和导航控制器的概念!
但有一个问题。我有这个代码,我打算在我的按钮中分配。我只是不知道如何从每个按钮获取标签,所以我可以使用它:
- (IBAction)loadZodiac:(NSInteger)tag {
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];
}
答案 2 :(得分:0)
NSString *zodiac;
for (UIButton *button in [self.view subviews]) {
switch (button.tag) {
case 1:
zodiac = @"Aries";
break;
case 2:
zodiac = @"Taurus";
break;
....
}
}