我正在尝试制作一个缩放环,它可以在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>
但是:当我再次按下按钮时,整个过程按预期工作(意味着,戒指停留在屏幕中间并缩放)。
有什么想法吗?
答案 0 :(得分:0)
尝试使用ImageView模式 Aspect Fill