3

我是 iOS 编程新手,我正在使用 XCode 学习故事板。我的问题是

我已经添加了我想要使用 IB 的视图,但我不想让它们在 IB 中使用 Ctrl+Drag 连接到我的 ViewController,而是以编程方式执行相同的操作。我看过建议在代码中创建视图实例并使用 addSubView() 添加它们(通过设置框架)的帖子。但我不想在代码中硬编码我的框架和大小,我更喜欢 IB。我只需要在需要时参考它们。

在 android 中,我们可以通过布局 XML 上的 getIdByName() 来做同样的事情。我正在寻找类似的东西。

谢谢

4

2 回答 2

4

在 IB 中,您可以设置Tag视图的属性,然后使用以下代码在代码中引用它:

int buttonTagNumber = 2;
UIButton *myTaggedButton = (UIButton *)[self.view viewWithTag:buttonTagNumber];

标签只是一个int,您可以拥有任意数量的标签。请注意,如果您在一个层次结构中的 2 个不同视图上具有相同的标签,则行为是未定义的,它将抓取它找到的第一个。

于 2012-09-13T05:35:07.847 回答
0

您可以像这样向下钻取:

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"myStoryboard" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"myViewController"];
    UIView *view = [vc.view viewWithTag:1];
于 2012-09-13T05:39:55.317 回答