2012-10-24 83 views
0

我有两个UIViews,其中每个明显有CGRects。其中一个UIView填充屏幕,而另一个只填充中间的一部分。我有较小的UIView,但我怎样才能得到其中一个的CGRect - 不包括较小的大小,以便背景可以变暗,但不是内部UIView的内容?获取外部CGRect

这是我的UIViewController样子,所以你可以得到什么,我试图做一个更好的主意:

enter image description here

我想调暗UIView,而不是一个内 - 但我没有外部的CGRect ,不包括内部的UIView,所以我现在不得不这样做。

回答

4

CGRect是一个方形大小。如果你想知道外部咏叹调,你需要计算4个CGRects。顶部,左侧,右侧和底部空间。

0

因此,它看起来像我的外观是负责绘制您的内容和内部视图是你的选择矩形对吗?

如果是这样,那么我认为当你选择这个选择模式时你会想要绘制你的内容两次。你会:

  1. 画变暗一个通 - 自行调整颜色(你可以画出整个区域或使用代码here剪除内区域)
  2. 画出第二内通过用夹子矩形设置所以只有矩形供您选择矩形中的内容绘制

或者

  1. 绘制所有内容像正常
  2. 设置你的剪贴蒙版(使用代码here使刚刚外部区域渲染),然后绘制一个黑色矩形具有一定程度的透明度,在你的整个场景