使用nib中的视图重新加载UIView属性

时间:2013-08-29 12:16:21

标签: ios objective-c uiview uiviewcontroller xib

我的视图控制器xib文件中有一些UIViews - 1,2,3。

视图1是视图控制器的主视图。

观点2& 3(在xib中位于主视图1之外)是视图控制器中的其他属性。因此,我不需要初始化它们。我可以在代码中将它们添加到我的主视图中。

我的问题是:我可以重新加载观看次数2& 3.例如,在我更改了视图2中的标签和视图框后,我可以重新加载视图以恢复所有原始布局等吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil];
UIView *mainViewControllerSuperView = [nibArray objectAtIndex:0];
NSArray *superViewsArray = [mainViewControllerSuperView subviews];
UIView *secondView = [superViewsArray objectAtIndex:1]; // index of view you need

self.mainViewController.secondView = secondView;

或单行:

self.mainViewController.view = [[(UIView *)[[[NSBundle mainBundle] loadNibNamed:@"MainViewController" owner:self options:nil] lastObject] subviews] objectAtIndex:1];