将imageview作为子视图从一个图像视图更改为另一个图像视图

时间:2012-01-16 09:43:28

标签: iphone uiimageview superview

我正在创建一个应用程序,其中我有两个小的imageview(每个都使用屏幕) 其中一个视图有一个uiimageview作为子视图,我需要将此视图更改为otherImageView的子视图,在我将其拖动到它之后,我正在使用removeFromSuperview:& addSubview:方法,但问题是该位置的引用是第一个imageView,这就是为什么我在新的superview中定位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(原始superview)。为了更好地管理位置,最好将此位置更改为self.superview.superview(包含两个视图)。谢谢!

1 个答案:

答案 0 :(得分:0)

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

  

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

我认为您应该设置移动frame的{​​{1}}属性,使其显示在目标超级视图中的正确位置。

除此之外,删除然后添加作为子视图对我来说似乎是正确的方法。如果此回复没有帮助,您可以尝试发布一些代码,并可能发布一些快照,以使您的观点更加明确。