我想将 View 从滚动 View 移动到 uiview。

我无法更改它的中心(或框架),使其在屏幕中保持在相同位置(但在不同的 View 中,可能是滚动 View 的 super View )。

我应该如何转换 View 的中心/框架?

谢谢你。

编辑:

   CGPoint oldCenter = dragView.center;
    CGPoint newCenter = [dragView convertPoint: oldCenter toView: self.navigationView.contentView];
    dragView.center = newCenter;
    [self.navigationView.contentView addSubview: dragView];

我也可以使用 (NSSet*) touches 因为我在 touchesBegan 中:
我很难让它发挥作用,但文档对我来说不是很清楚。

最佳答案

您可以使用 UIView 的 convertPoint:toView: 方法。它用于将一个点从一个 View 的坐标系转换为另一个 View 。请参阅 UIView 类引用的 Converting Between View Coordinate Systems 部分。还有更多可用的方法。

-编辑-

您在调用 convertPoint: 方法时使用了错误的点。给定的点应该在 dragView 的坐标系中,而 dragView.center 在其父 View 的坐标系中。

使用以下点,它应该在其自己的坐标系中为您提供 dragView 的中心。

CGPoint p;
p = CGPointMake(dragView.bounds.size.width * 0.5, dragView.bounds.size.height * 0.5);

关于iphone - (iphone) 从ScrollView中分离 View 并将其添加到另一个 View 时如何设置 view.center?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4530068/

10-12 00:19
查看更多