我正在使用UIPresentationController,但我无法理清如何让它以我想要的方式显示。
我正在编辑frameOfPresentedViewInContainerView()
函数,我需要返回框架(CGRect)来显示我的内容。
我所使用的教程使用了CGRectInsert(self.containerView.bounds, 50, 50)
,这使得窗口以50px的边框为中心。如果我自己返回self.containerView.bounds
,视图将占据整个屏幕。
我希望覆盖的视图是父视图的宽度(所以,self.containerView.bounds.width
),但我希望高度是显示新视图内容而不切断任何内容所需的大小
我在(0,0)处尝试了一个宽度和高度来自self.preferredContentSize的CGRect,但它没有返回有效的大小。我该怎么办?
我尝试frame = CGRect(x:0, y: self.containerView.bounds.height/2, width: self.containerView.bounds.width, height: self.containerView.bounds.height/2)
只是作为一个测试(但这只是将视图缩小到父视图大小的一半),但是当我旋转屏幕时,突然新视图几乎不在屏幕上..
答案 0 :(得分:0)
除frameOfPresentedViewInContainerView()
之外,我还必须添加以下内容才能使其正常运行。
- (void)containerViewWillLayoutSubviews
{
self.presentedView.frame = [self frameOfPresentedViewInContainerView];
}