UIViewController中popover的大小

时间:2011-06-03 22:42:29

标签: iphone xcode uiviewcontroller

我有一个可以绘制功能的计算器应用程序。我陷入了一个说:

的练习

您的CalculatorViewController还需要知道(并在通过适当的方法询问时报告)弹出窗口中显示的大小。执行此操作的最佳方法是在CalculatorViewController的self.view中找到所有视图的边界框,然后在边缘周围添加一点边距。要计算视图的边界框,您需要查看CalculatorViewController的self.view及其所有框架的子视图。您可能会发现函数CGRectUnion()对此任务很方便。

我在做什么?

1 个答案:

答案 0 :(得分:1)

试试这个

CGRect boundingRect = CGRectZero;
for (UIView *view in self.view.subviews) {
    boundingRect = CGRectUnion(view.frame, boundingRect);
}

self.view.subviews包含所有视图的子视图。通过迭代它们并将每个子视图的帧添加到当前boundingRect和子视图的并集中,您应该获得一个足以容纳所有子视图的CGRect。然后,您可以为其添加边距。