我试图在Xcode中创建我的第一个应用程序。本教程http://www.youtube.com/watch?v=rgd6mCuzlEc帮助我了解了如何在视图之间进行导航。在我的应用程序中,我需要第一个和第二个视图上的更多按钮,但第二个视图上的按钮依赖于第一个视图中的按钮。
例如第一个视图上的按钮: - 鸟类 - 小狗 - 鱼类
鸟类的第二种观点: - 鹳 - 麻雀 - 鸡肉
第三种观点将是对所选动物的描述。
下一步应该是什么?链接示例对我的应用程序有用吗?
答案 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:如果你想从第二个视图控制第一个视图,你将不得不使用委托。祝你好运