0

我试图在 Xcode 中制作我的第一个应用程序。本教程http://www.youtube.com/watch?v=rgd6mCuzlEc帮助我了解了如何在视图之间进行导航。在我的应用程序中,我需要在第一个视图和第二个视图上使用更多按钮,但第二个视图上的按钮取决于第一个视图中的按钮。

例如第一个视图上的按钮: - 鸟 - 狗 - 鱼

鸟类的第二种观点: - 鹳 - 麻雀 - 鸡

在第三个视图中将描述所选动物。

我的下一步应该是什么?链接中的示例对我的应用程序有好处吗?

4

2 回答 2

1

你可以为你的第二个视图控制器声明你的初始化程序来获取数据。当您从第一个视图控制器初始化该视图控制器时,请确保传递数据。viewDidLoad:然后您可以在您的第二个视图控制器上的方法中设置按钮文本(您可以尝试在您的initWithData方法中执行此操作,但有时 xib 元素此时未正确初始化)

于 2013-08-24T15:38:26.367 回答
0

您需要做的是在第二个视图中创建一个公共(在 .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];
    }
}

现在你有了第一个视图中选择的信息,你可以在第二个视图中做任何你想做的事情。

顺便说一句:如果您想从第二个视图控制第一个视图,则必须使用委托。祝你好运

于 2013-08-24T17:19:57.873 回答