масштабирование UIImageView в центре UIView - PullRequest
2 голосов
/ 03 декабря 2010

Я пытаюсь сделать масштабное кольцо, которое масштабируется в центре UIView.

Установки следующие:

В IB у меня есть вид и мой ImageView, прикрепленный к нему (просто прозрачный PNG с кольцом). Установите IBOutlet для ImageView (theRing) и кнопку для запуска действия.

ImageView установлен в «scaleToFill» в IB.

Код действия:

-(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 (это означает, что оно масштабируется, но кольцо расширяется в правом нижнем углу экрана). 1012 *

НО: когда я снова нажимаю кнопку, все работает как положено (значит, кольцо остается в центре экрана и масштабируется).

Есть идеи?

1 Ответ

0 голосов
/ 04 декабря 2010

попробуйте использовать режим ImageView Aspect Fill

...