如何将从笔尖加载的视图重建为新的帧大小

Posted

技术标签:

【中文标题】如何将从笔尖加载的视图重建为新的帧大小【英文标题】:How to rebuild view loaded from nib into new frame size 【发布时间】:2016-04-18 11:45:03 【问题描述】:

我正在尝试将从 nib 文件加载的视图附加到另一个视图中。 假设第一个视图是subView,第二个视图是containerView

当我使用addSubView 方法将subView 添加到容器视图中时,子视​​图具有其内容大小,因此会出现截断。

当我尝试将子视图的框架设置为 containerView 框架时,它会占用框架,但这会阻止 autolayout,换句话说,子视图约束变得毫无意义。

如何在新框架中重建 subView

【问题讨论】:

【参考方案1】:

我是这样做的,使用 2 个 UIViewController、一个容器 vc 和一个内容 vc。该方法在容器视图控制器中:

- (void) displayContentController:(UIViewController*)contentViewController

    [self addChildViewController:contentViewController];

    contentViewController.view.frame = self.view.frame;

    [self.view addSubview:contentViewController.view];

    [contentViewController didMoveToParentViewController:self];

在我的应用中,内容的自动布局在所有方向和大小类别中都能完美运行。

【讨论】:

以上是关于如何将从笔尖加载的视图重建为新的帧大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中调试“[UIViewController _loadViewFromNibNamed:bundle:] 加载了“SearchView”笔尖但未设置视图出口”?

视图从笔尖加载但不可见?

任何想法如何从同一工作区下的其他项目加载笔尖 - IOS?

加载笔尖但未设置视图出口,找不到视图出口。

呈现其视图控制器时笔尖加载失败

加载笔尖但未设置视图出口