为视图创建边界框

时间:2011-04-03 14:51:58

标签: iphone objective-c cocoa-touch

是否有办法到视图的边界框,以便其子视图不能离开视图?

我目前有UIImageViews,我可以移动,缩放,旋转等,他们可以离开视图区域。

如何设置superview绑定/保持其中的子视图?

如何做到这一点呢。我目前检测到图像的原点,直到图像移动到达此原点为止,图像被卡住了。

我使用gestureRecognizers,这种原始技术仅适用于平移/移动图像。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果要阻止视图的子视图在其边框外绘制,则需要将其clipsToBounds属性设置为YES。 (有关详细信息,请参阅UIView class reference。)

如果你想阻止你的观点在某些位置,请不要将它们移动到那里!这是你的代码将它们放在你不希望它们的位置。如果您正在使用手势识别器,可能您有一种方法可以通过调整视图的帧来响应手势 - 在此移动中设置一些条件,以防止它在您不需要时发生。

当您编写这些条件时,请记住视图的来源与其超级视图相关。例如,假设您有一个视图控制器,其视图占据设备的整个屏幕,并且在一个以0, 100开头的框内,以及用户可以在其中的一些正方形和圆形以及波浪状的形状内四处走走。如果您检查containerBox.bounds.origin,则会发现它是0, 100,但如果您想在框的左上角放置一个正方形,则需要获取其框架并将原点设置为{ {1}}。需要注意的事情。

我没有按照你对“原始技术”的解释。如果您粘贴代码,我可能会提供帮助。