ios创建然后动态添加UI元素

时间:2011-12-23 12:25:06

标签: ios xcode interface-builder reusability

我不知道这是否可行,但听起来应该是这样的。

我想要做的是,在Interface Builder中创建UIViews(或UIViewControllers并不确定它是如何工作的)说...其中10个,并根据用户选择使用它们。

例如在A州,我想向他展示小部件1,2和3; 在状态B小部件3,5和7等。

编辑:我所说的状态是,根据用户在前面的步骤中选择的内容,它们都会导致相同的UIViewController但是它应该根据上述“状态”以不同的方式呈现自己。现在我不能为每个不同的组合创建不同的UIViewController:)

并且能够将它们放在父视图中是必须的。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

好的,所以在回答你的评论时,你的确可以做到你想要的。为自定义视图创建一个单独的nib文件,比如说MyView.xib,并使文件所有者的类成为您的视图控制器类。

然后在视图控制器中,为自定义视图创建IBOutlet属性:

@property (nonatomic, assign) IBOutlet MyView * myView;

在nib文件中,将视图控制器的myView插座连接到顶层视图。

然后在代码中加载视图,您需要做的就是:

[[NSBundle mainBundle] )loadNibNamed: @"MyView" owner: self options: nil];

将加载nib,并将其分配给myView。然后您可以将其添加为子视图。

要使其与另一个视图控制器一起使用,只需确保它具有相同的命名插座,进行loadNibNamed:调用,它就可以正常工作。