我是iOS编程的新手,我正在使用XCode学习故事板。我的问题是
我已经使用IB添加了我想要的视图,但我不希望他们使用IB中的Ctrl + Drag连接到我的ViewController,但是以编程方式执行相同操作。 我有seens帖子建议在代码中创建视图的实例,并使用addSubView()添加它们(通过设置框架)。但我不想在代码中硬编码我的框架和大小,我更喜欢IB。我只需要在需要时参考它们。
在android中,我们可以通过布局XML上的getIdByName()来做同样的事情。我正在寻找类似的东西。
由于
答案 0 :(得分:4)
在IB中,您可以设置视图的Tag
属性,然后使用以下代码在代码中引用它:
int buttonTagNumber = 2;
UIButton *myTaggedButton = (UIButton *)[self.view viewWithTag:buttonTagNumber];
标签只是一个int
,你可以拥有任意数量的标签。请注意,如果在一个层次结构中的两个不同视图上具有相同的标记,则行为是未定义的,它将抓取它找到的第一个。
答案 1 :(得分:0)
你可以这样钻取:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"myStoryboard" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];
UIView *view = [vc.view viewWithTag:1];