【问题标题】:Overall size of UIView when clipsToBounds = falseclipsToBounds = false 时 UIView 的整体大小
【发布时间】:2017-04-16 23:20:56
【问题描述】:

我有一个UIView *view 和它的view.clipsToBounds = false。我已经向它添加了子视图,其框架超出了view 的可见范围。

我现在的问题是如何获得view 的整体大小,包括扩展的子视图?

【问题讨论】:

  • 大小是什么意思,需要面积吗?
  • 你想达到什么目的? clipsToBounds 的默认值为falseNO。所以你不需要设置false,因为它已经存在了!
  • @NikhilManapure 我指的是view 的整体CGSize,其中包括超出view 可见范围的子视图的大小。
  • CGSize 有高度和宽度,你希望它给你一个非矩形视图的大小。
  • 我想要做的是拍摄上述view 的快照,这就是我需要大小的原因。

标签: ios uiview size


【解决方案1】:

我无法理解您为什么想要包含其子视图的视图大小,但您可以通过循环遍历所有子视图并应用以下简单计算来获得它:

float x = 0, y = 0, endX = 0, endY = 0;

for (UIView *vw in yourview.subviews)
{
    CGRect rct = vw.frame;

    if(rct.origin.x < x)
        x = rct.origin.x;
    if(rct.origin.y < y)
        y = rct.origin.y;

    if(rct.size.width+rct.origin.x > endX)
        endX = rct.size.width + rct.origin.x;

    if(rct.size.height + rct.origin.y > endY)
        endY = rct.size.height + rct.origin.y;

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多