Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Uiviewcontroller 能否配置容器视图控制器,使包含的视图控制器尊重覆盖视图?_Uiviewcontroller_Ios7_Autolayout_Uiview Hierarchy - Fatal编程技术网

Uiviewcontroller 能否配置容器视图控制器,使包含的视图控制器尊重覆盖视图?

Uiviewcontroller 能否配置容器视图控制器,使包含的视图控制器尊重覆盖视图?,uiviewcontroller,ios7,autolayout,uiview-hierarchy,Uiviewcontroller,Ios7,Autolayout,Uiview Hierarchy,我有一个UIViewController子类a,它是其他视图控制器的容器。包含的视图控制器视图放置在a的容器视图中。a的容器视图为全屏。A还有一个自定义栏形式的附件视图,该视图与容器视图的底部重叠,类似于UIToolbar 当我将视图控制器B添加为a的子视图,并且a将B的视图放置在其容器视图中时,我希望B的视图自动尊重a的附件视图。例如,如果B是一个UITableViewController,我希望B的UITableView自动修改其内容插入以符合a的附件视图 有没有办法配置a,使B的视图自动执

我有一个
UIViewController
子类a,它是其他视图控制器的容器。包含的视图控制器视图放置在a的容器视图中。a的容器视图为全屏。A还有一个自定义栏形式的附件视图,该视图与容器视图的底部重叠,类似于
UIToolbar

当我将视图控制器B添加为a的子视图,并且a将B的视图放置在其容器视图中时,我希望B的视图自动尊重a的附件视图。例如,如果B是一个
UITableViewController
,我希望B的
UITableView
自动修改其内容插入以符合a的附件视图

有没有办法配置a,使B的视图自动执行此操作?或者当B被添加到A中时,A必须手动修改B的视图吗

我已尝试覆盖A的top/bottomLayoutGuide以返回我自己的布局对象。这似乎不起作用,因为-topLayoutGuide/-bottomLayoutGuide似乎永远不会被调用,而且属性是只读的,所以您不能只设置自己的布局指南


不需要A熟悉B的观点的最好方法是什么?

您在这里有很多选择

首先,为什么不调整A的containerView的大小,以便底部栏不会与它重叠

其次,您可以向容器视图中添加一个不重叠的子视图,然后向该视图中添加视图


这些都是简单的方法。

你能添加一点代码吗?这就违背了目的。重叠点是为了确保表视图在半透明覆盖条下滚动,正如iOS 7样式指南所建议的那样。