在UIView的中心缩放UIImageView

时间:2010-12-03 20:57:30

标签: iphone uiimageview scale

我正在尝试制作一个缩放环,它可以在UIView的中心缩放。

设置如下:

在IB中,我有一个视图,我的ImageView附加到它(只是一个带环的透明PNG)。 将一个IBOutlet设置为ImageView(theRing)和一个触发操作的按钮。

ImageView在IB中设置为“scaleToFill”。

行动的代码是:

-(IBAction)buttonPressed:(id)sender{

    CGRect theFrame = theRing.frame;

    theFrame.size.width = 16;
    theFrame.size.height = 16;

    [theRing setFrame:theFrame];  //Scale down the ring first
    theRing.center = [self.view center];  // Center the ring in the center of the view

    theFrame.size.width = 300;
    theFrame.size.height = 300;

    [theRing setAlpha:1.0];

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1.0];

    [theRing setFrame: theFrame];
    [theRing setAlpha:0.0];
    theRing.center = [self.view center];

    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector: @selector(animEnd:finished:context:)];
    [UIView commitAnimations];

}

现在 - 当我第一次点击按钮时,图像被缩放,参考点是ImageView的左上角(意味着,它会缩放,但是环会扩展到屏幕的右下角)。 / p>

但是:当我再次按下按钮时,整个过程按预期工作(意味着,戒指停留在屏幕中间并缩放)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用ImageView模式 Aspect Fill