0

我正在创建一个应用程序,其中我有两个小图像视图(每个都使用屏幕)其中一个视图有一个 uiimageview 作为子视图,我需要将此视图更改为 otherImageView 的子视图,然后将其拖动到它,我正在使用 removeFromSuperview: & addSubview: 方法,但问题是位置的参考是第一个 imageView,这就是为什么我在新的超级视图中定位 imageview 时遇到问题......有没有更好的怎么做?我希望这是可以理解的,如果我需要放一些代码,请告诉我。非常感谢

编辑:我正在添加一些我正在使用的代码

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

startPoint_ = [[touches anyObject] locationInView:self];
CGPoint newPoint = [[touches anyObject] locationInView:self.superview];
CGRect frm = [self frame];
newPoint.x -= startPoint_.x;
newPoint.y -= startPoint_.y;

frm.origin = newPoint;
currentPoint_.x = frm.origin.x;
currentPoint_.y = frm.origin.y;

}

在此代码的第二行中,我定位视图 en self.superview(原始超级视图)。为了更好地管理位置,将此位置更改为 self.superview.superview (包含两个视图)可能是一个好主意。谢谢!

4

1 回答 1

0

我不确定我是否完全理解你的问题的细节;无论如何,如果我正确解释了这句话:

问题是位置的参考是第一个imageView,这就是为什么我在新的superview中定位imageview时遇到问题

我认为您应该设置您移动的frame属性,UIImageView以便它出现在目标超级视图中的正确位置。

Apart from that, removing and then adding as a subview seems the correct approach to me. If this reply does not help, you could try and post some code and possibly some snapshots to make your point more evident.

于 2012-01-16T09:59:33.100 回答