我希望能够在代码中布局我的视图控制器,但在接口生成器中看到显示的布局。
我知道我可以创建一个UIView子类,使其成为IBDesignable,并将其分配给视图控制器的视图,但是这需要我为这个UIView子类创建所有其他子视图属性,而不是视图控制器的属性。
真正的愿望是能够在代码中布局我的视图控制器,但在不重新构建项目的情况下快速地看到任何更改。如果这是可能的游乐场代替,一个答案描述如何做到这一点,也将不胜感激。
谢谢你的建议。
发布于 2015-12-14 11:06:45
我找到了一个使用IBDesignable测试视图控制器布局的解决方案。
1.按照通常的做法,在代码中布局视图控制器
2.创建一个IBDesignable UIView子类,并将视图控制器的视图添加为子视图。
3.创建xib并将其视图的类设置为在步骤2中创建的子类。
要详细说明步骤2,IBDesignable的initWithFrame:方法可能如下所示
{
self = [super initWithFrame:frame];
MyViewController *viewController = [MyViewController alloc] init];
viewController.view.frame = self.bounds;
[self addSubview:viewController.view];
return self;
}因此,除了这个initWithFrame方法之外,您的所有布局代码都可以由视图控制器处理。您可能希望在子视图的prepareForInterfaceBuilder方法中将数据传递给视图控制器。
https://stackoverflow.com/questions/26791123
复制相似问题