不按来源更改框架

时间:2013-06-05 11:33:08

标签: ios frame

我有一个可拖动的UIImageView,在某些时候会改变另一个UIImageView框架。问题是我需要在第一个UIImageView中使用相同的点击点进行转换。我只是这样做:

_firstImageView.frameSize = _secondImageView.frameSize;

但是框架会从_firstImageView原点更改。我需要从我在_firstImageView:

中单击的点进行转换
CGPoint clickedPoint = [sender locationInView:self.view];

我曾尝试过layer.anchorPoint但是这会让imageView消失,不知道为什么(我先从self.view转换到_firstImageView参考系统)

编辑,例如为了更好地解释问题:

我有一个高度为100的uiimage1帧。另一个有50。 如果我点击uiimage1的点(y = 90)并开始拖动,我会做一个测试交叉点,如果相交,它会将UIImage1更改为UIImage2的帧。但由于点击是在y = 90而UIImage2只有最大y高度50,它会改变UIImage1原点的帧大小。我继续拖动新框架外的点击点(即只有y高度= 50,点击是y = 90)。我的问题是:我可以更改框架而不是它的起源但是通过点击位置?

提前致谢

1 个答案:

答案 0 :(得分:0)

+(CGRect)getUpdatedFrame:(CGRect)frame byChangingCenterTo:(CGPoint)newCenter
{
    float width = frame.size.width;
    float height = frame.size.height;
    return CGRectMake(newCenter.x-width/2, newCenter.y-height/2, width, height);
}

+(CGPoint)centerForRect:(CGRect)rect
{
    return CGPointMake( rect.origin.x+rect.size.width/2 , rect.origin.y+rect.size.height/2 );
}