首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBDesignable UIViewController

IBDesignable UIViewController
EN

Stack Overflow用户
提问于 2014-11-06 23:06:31
回答 2查看 1.7K关注 0票数 12

我希望能够在代码中布局我的视图控制器,但在接口生成器中看到显示的布局。

我知道我可以创建一个UIView子类,使其成为IBDesignable,并将其分配给视图控制器的视图,但是这需要我为这个UIView子类创建所有其他子视图属性,而不是视图控制器的属性。

真正的愿望是能够在代码中布局我的视图控制器,但在不重新构建项目的情况下快速地看到任何更改。如果这是可能的游乐场代替,一个答案描述如何做到这一点,也将不胜感激。

谢谢你的建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-14 11:06:45

我找到了一个使用IBDesignable测试视图控制器布局的解决方案。

1.按照通常的做法,在代码中布局视图控制器

2.创建一个IBDesignable UIView子类,并将视图控制器的视图添加为子视图。

3.创建xib并将其视图的类设置为在步骤2中创建的子类。

要详细说明步骤2,IBDesignable的initWithFrame:方法可能如下所示

代码语言:javascript
复制
{
    self = [super initWithFrame:frame];
    MyViewController *viewController = [MyViewController alloc] init];
    viewController.view.frame = self.bounds;
    [self addSubview:viewController.view];
    return self;
}

因此,除了这个initWithFrame方法之外,您的所有布局代码都可以由视图控制器处理。您可能希望在子视图的prepareForInterfaceBuilder方法中将数据传递给视图控制器。

票数 1
EN

Stack Overflow用户

发布于 2015-06-13 08:23:10

为了在Xcode中布局您自己的类,您需要首先导入,然后在您的快速操场:这里更多信息。

在你这么做之后,就出现了“棘手”的部分。为了使您的how类在操场上具有可调试性和可见性,您的类必须遵守协议:CustomPlaygroundQuickLooacable

这里有一个来自WWDC的快速示例

通过实现这个协议,您基本上是在告诉操场如何表示您自己的类。我还没有找到更好的解决办法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26791123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档