我有一个视图控制器,它显示在弹出框内。我试图弄清楚如何调整 viewController 的视图(viewController 的 self.view)以匹配弹出框。
我认为视图会自动调整大小以适合弹出框;出于某种原因,它不是。出于某种原因,视图的框架是整个屏幕的大小。
我该怎么做:检测周围视图控制器的大小,以便调整视图大小;或者,使视图自动调整大小以适应弹出框?
注意:这是一个嵌入到其他人的应用程序中的类,所以我无法控制弹出框大小本身。
我有一个视图控制器,它显示在弹出框内。我试图弄清楚如何调整 viewController 的视图(viewController 的 self.view)以匹配弹出框。
我认为视图会自动调整大小以适合弹出框;出于某种原因,它不是。出于某种原因,视图的框架是整个屏幕的大小。
我该怎么做:检测周围视图控制器的大小,以便调整视图大小;或者,使视图自动调整大小以适应弹出框?
注意:这是一个嵌入到其他人的应用程序中的类,所以我无法控制弹出框大小本身。
弄清楚我做错了什么:我正在查看 viewDidLoad 方法中的帧大小。出于某种原因,它在那个时候并不总是有效的。
检查帧大小的正确位置是 viewDidAppear;它似乎在那里有效。不过,诚然,我并没有在每一个极端情况下都检查过这个,所以 YMMV。
覆盖contentSizeForViewInPopover
您的视图控制器并返回您需要弹出框的大小。因此,它以某种方式反过来工作,包含的视图控制器让弹出框知道它应该有多大。我认为默认情况下弹出框是 320px x 1100px。如果你覆盖了我上面提到的方法,你就会把它放大到你想要的大小,即使代码嵌入到应用程序中并且你无法控制它。