iOS中的视图之间的导航

时间:2013-08-24 15:33:01

标签: ios objective-c

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

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

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

第三种观点将是对所选动物的描述。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您需要做的是在第二个视图中创建一个public(在.h文件中)变量。让我们说这个变量将是NSString:

@property (nonatomic,strong) NSString *caseStr;

现在不要忘记在第二个视图中创建一个初始化.m文件

@synthesize caseStr = _caseStr;

-(void)setCaseStr:(NSString *)caseStr
{
    _caseStr = caseStr;
}

现在在你的第一个视图上实现“prepareForSegue”方法: (我们假设你的segue标识符是“ChosenAnimal”,而bird类型是一个设置为“Birds”,“Dogs”或“Fish”的本地字符串

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ChosenAnimal"]) {
        [segue.destinationViewController setCaseStr:typeOfBird];
    }
}

现在您可以获得第一个视图中所选内容的信息,您可以在第二个视图中随意使用它。

BTW:如果你想从第二个视图控制第一个视图,你将不得不使用委托。祝你好运