在iOS 7中,我能够处理自定义呈现视图控制器的布局,还通过添加约束来考虑调用状态栏,其中呈现的视图控制器具有与呈现视图控制器相同的中心和相同的宽度和高度.这对于宽度和高度使用自动调整大小是优选的,否则,当呼叫状态栏消失时,由于某种原因,呈现的视图控制器将保持从顶部向下推20点.
然而,在iOS 8中,这个技巧不再起作用了.首先,我通过实验发现,呈现视图控制器似乎不一定在容器视图中,因此我无法将这些约束添加到容器视图中.(2014年WWDC视频中的"A Look Inside Presentation Controllers"的示例代码没有将呈现视图控制器放在那里.)似乎让所呈现的视图控制器使用自动布局或自动调整大小来填充容器视图将起作用,但我发现当呼叫状态栏消失时,容器视图本身可能会被按下20分(在iOS 7中不是这种情况).
我一直在使用"A Look Inside Presentation Controllers"示例代码,但即使这段代码也无法正确处理通话状态栏.(UIPresentationController顺便说一句,我仍然试图处理新的API.)