2012-01-16 84 views
0

我正在创建一个应用程序,其中有两个小图像视图(每个都使用屏幕) 其中一个视图具有uiimageview作为子视图,我需要更改这个视图是其他图像视图的子视图,在我将它拖动到它后,我使用removeFromSuperview:& addSubview:方法,但问题是位置的引用是第一个imageView,这就是为什么我有在新的超级视图中定位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; 

} 

在这段代码中,我定位的观点恩self.superview的第二行的一些代码(产地上海华)。为了更好地管理职位,将自己的位置更改为self.superview.superview(包含两个视图)可能是一个好主意。谢谢!

回答

0

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

的问题是位置的参考是第一ImageView的,这就是为什么我遇到定位的ImageView新上海华

我的问题认为您应该设置您移动的UIImageViewframe媒体资源,以使其显示在目标超级视图的适当位置。

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

+0

这就是我的想法。谢谢你的回答! – Oscar 2012-01-16 10:47:20

相关问题