Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在父视图控制器中嵌入具有动态高度的UIViewController_Ios_Uiviewcontroller - Fatal编程技术网

Ios 在父视图控制器中嵌入具有动态高度的UIViewController

Ios 在父视图控制器中嵌入具有动态高度的UIViewController,ios,uiviewcontroller,Ios,Uiviewcontroller,我正在显示带有子视图控制器的UIViewController(在NotificationContentExtension中)。父控制器只是将子控制器的视图作为子视图添加到其视图中 子视图都是使用autolayout和约束构建的,如果不嵌入视图控制器中,会呈现良好的效果 当前,父通知的显示大小与扩展名的Info.plist文件中配置的父视图控制器视图的大小相同 如果我在父视图中为childcontroller的视图提供一个高度,它将渲染与父视图一样大的视图,但如果我没有初始化其帧,它将不会渲染子控

我正在显示带有子视图控制器的UIViewController(在NotificationContentExtension中)。父控制器只是将子控制器的视图作为子视图添加到其视图中

子视图都是使用autolayout和约束构建的,如果不嵌入视图控制器中,会呈现良好的效果

当前,父通知的显示大小与扩展名的Info.plist文件中配置的父视图控制器视图的大小相同

如果我在父视图中为childcontroller的视图提供一个高度,它将渲染与父视图一样大的视图,但如果我没有初始化其帧,它将不会渲染子控制器的视图元素


我所寻求的是打开控制器,使其与子视图容器的动态高度一样大。

为了澄清,我相信您试图实现的是一个模式“弹出”视图控制器,它比调用它的视图控制器小(在某些方面),类似于警报视图控制器的功能

转到情节提要,单击具有自定义高度的子视图控制器,然后打开右侧窗格以查看尺寸检查器。我在这里假设您的模拟尺寸=“自由形式”与您的高度和宽度。这将允许您实际调整故事板中视图控制器的大小,但视图控制器将全屏显示

现在单击属性检查器,在第四个分组中,选中内容大小“使用首选显式大小”框,然后键入模拟大小。这将允许模态视图控制器以您要求的确切大小显示

要以编程方式执行此操作,请在调用ViewController的prepare for segue实现中尝试以下操作:

destinationVC.preferredContentSize=CGSize(宽度:300.0,高度:400.0)


干杯:)

嘿,实际上我们是作为SDK的一部分发布的,所以我们没有任何故事板,而是以编程方式完成整个UI。你能建议我如何在代码中实现同样的效果吗?我在上面编辑了我的答案。看看这是否适合您:)