【问题标题】:Creating a bounding box for a View为视图创建边界框
【发布时间】:2011-07-28 16:02:13
【问题描述】:

有没有办法为视图设置边界框,使其子视图不能离开视图?

我目前有 UIImageViews,我可以四处移动、缩放、旋转等,它们能够离开视图区域。

如何设置超级视图以绑定/保存其中的子视图?

这还能怎么做。我目前检测到图像的原点,直到图像移动到该原点为止,当它到达该原点时,图像被卡住了。

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

有什么建议吗?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    如果您想阻止视图的子视图被绘制到其边界之外,您需要将其clipsToBounds 属性设置为YES。 (详情请参阅UIView class reference。)

    如果您想阻止您的视图处于某些位置,请不要将它们移到那里!是您的代码将它们放在您不希望它们出现的位置。如果您正在使用手势识别器,大概您有一种方法可以通过调整视图的框架来响应手势 - 在此移动上设置一些条件,以防止它在您不想要时发生。

    当您编写这些条件时,请记住视图的起源是相对于其父视图的。例如,假设你有一个视图控制器,它的视图占据了设备的整个屏幕,在里面有一个从0, 100 开始的盒子,里面有一些用户可以移动的正方形、圆形和波浪形状.如果你检查containerBox.bounds.origin,你会发现它是0, 100,但是如果你想在盒子的左上角放一个正方形,你需要得到它的框架并将原点设置为0, 0。需要注意的地方。

    我没有听从你对“起源技术”的解释。如果您粘贴您的代码,我可能会提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 2021-10-05
      • 2011-09-12
      • 1970-01-01
      • 2021-09-01
      • 2019-10-06
      相关资源
      最近更新 更多