我试图在 Xcode 中制作我的第一个应用程序。本教程http://www.youtube.com/watch?v=rgd6mCuzlEc帮助我了解了如何在视图之间进行导航。在我的应用程序中,我需要在第一个视图和第二个视图上使用更多按钮,但第二个视图上的按钮取决于第一个视图中的按钮。
例如第一个视图上的按钮: - 鸟 - 狗 - 鱼
鸟类的第二种观点: - 鹳 - 麻雀 - 鸡
在第三个视图中将描述所选动物。
我的下一步应该是什么?链接中的示例对我的应用程序有好处吗?
我试图在 Xcode 中制作我的第一个应用程序。本教程http://www.youtube.com/watch?v=rgd6mCuzlEc帮助我了解了如何在视图之间进行导航。在我的应用程序中,我需要在第一个视图和第二个视图上使用更多按钮,但第二个视图上的按钮取决于第一个视图中的按钮。
例如第一个视图上的按钮: - 鸟 - 狗 - 鱼
鸟类的第二种观点: - 鹳 - 麻雀 - 鸡
在第三个视图中将描述所选动物。
我的下一步应该是什么?链接中的示例对我的应用程序有好处吗?
你可以为你的第二个视图控制器声明你的初始化程序来获取数据。当您从第一个视图控制器初始化该视图控制器时,请确保传递数据。viewDidLoad:
然后您可以在您的第二个视图控制器上的方法中设置按钮文本(您可以尝试在您的initWithData
方法中执行此操作,但有时 xib 元素此时未正确初始化)
您需要做的是在第二个视图中创建一个公共(在 .h 文件中)变量。假设这个变量将是 NSString:
@property (nonatomic,strong) NSString *caseStr;
现在不要忘记在您的第二个视图 .m 文件中创建一个初始化程序
@synthesize caseStr = _caseStr;
-(void)setCaseStr:(NSString *)caseStr
{
_caseStr = caseStr;
}
现在在您的第一个视图中实现“prepareForSegue”方法:(我们假设您的 segue 标识符是“ChosenAnimal”并且鸟类类型是设置为“Birds”、“Dogs”或“Fish”的本地字符串
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"ChosenAnimal"]) {
[segue.destinationViewController setCaseStr:typeOfBird];
}
}
现在你有了第一个视图中选择的信息,你可以在第二个视图中做任何你想做的事情。
顺便说一句:如果您想从第二个视图控制第一个视图,则必须使用委托。祝你好运