如何为故事板中的每个视图指定名称

时间:2012-05-02 18:53:50

标签: objective-c ios xcode storyboard

所以我有一个应用程序,我在UI中使用具有不同视图的故事板。 在第一个视图中,按下按钮时会出现if语句。它决定屏幕是否必须显示下一个ViewController或其他。我已经知道如何使用.xibs,但没有使用故事板。

这里的代码不起作用:

.h
{
IBOutlet UIView *one;
IBOutlet UIView *two;
}

.m

-(IBAction)decideNextView:(id)sender{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *NextView =[defaults objectForKey:@"TestDone"];
    if ([NextView isEqualToString:@""]) {
        self.view = one;
    }else if ([NextView isEqualToString:@"Done"]) {
        self.view = two;
    }else {
        self.view = one;
    }
}

当我在iPod Touch中运行应用程序并按下执行IBAction的按钮时,我得到一个黑屏,但是有任何错误。请帮帮我!

1 个答案:

答案 0 :(得分:1)

您应该在代码中访问视图元素的方式是使用属性检查器中的“Tag”项。执行此操作的最佳方法是将其设置为数字,然后执行#define kView1 0,因此在代码中您不需要记住为view1分配的数字,只需使用常量。

Tag property

此处显示Tag,您可以将其设置为storyboard或xib中每个项目的任意数字。然后在代码中你可以这样说:

#define NAME_TAG 0
UIView *nameView = [self.view viewWithTag:NAME_TAG];