2011-09-08 46 views
1

我正在iPad程序做大我有一个UIView结构如下:使UIView的比它的父视图


ViewA(父) - > ViewB(子视图ViewA) - > ViewC(子视图到ViewB)

ViewA与屏幕大小相同。
ViewB约为屏幕大小的一半。
ViewC是ViewB的一半大小。

在某个事件发生后,我想修改ViewC的框架,以便ViewC覆盖整个屏幕。什么是最好的方法来做到这一点?我宁愿没有ViewC的框架超出ViewB(我不能改变ViewB的框架)。

谢谢!

阳光

回答

0

在我看来,鉴于B是不再相关,如果视图C会占据整个屏幕。在设计中从B中删除子视图C是否可行/安全?

如果是,则从B中删除C,然后将其作为子视图添加到A.您甚至可以使用动画,使用UIView的静态方法transitionWithView:duration:options:animations:completion:来完成此操作。

+0

我确实需要保持ViewB。我已经让它变得比听起来简单。实际上我的ViewA覆盖了整个屏幕和我的ViewB,它们是ViewA下面几个视图的子视图之间的一些中间视图。因此,删除所有中间视图将会花费大量工作... –

+0

然后添加一个名为“ViewBC”的中间视图,该视图可以将“全屏”中的B或C作为子视图,并将其正确放置在“A ”。另外,请注意您可以交换子视图的顺序('sendSubviewToBack:','bringSubviewToFront:',...)。或者只是咬紧牙关,将B展开到C的边界之外,确保'clipsToBounds'为NO(默认)。 – Can

相关问题