У меня есть следующая задача: на кнопку клика изображение должно вращаться до 90 градусов.Проблемы с просмотром изображения в iOS
Мой код:
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *vector;
@end
=========
@interface ViewController()
@end
@implementation ViewController
@synthesize vector;
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (IBAction)rotateOn:(id)sender {
[self rotateImage:self.vector duration:2
curve:UIViewAnimationCurveEaseIn degrees:M_PI/2];
}
- (void)rotateImage:(UIImageView *)image duration:(NSTimeInterval)duration
curve:(int)curve degrees:(CGFloat)degrees
{
// Setup the animation
[UIView beginAnimations:NULL context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];
[image.layer setAnchorPoint:CGPointMake(0.5,0.5)];
CGAffineTransform transform =
CGAffineTransformMakeRotation(degrees);
image.transform = transform;
[UIView commitAnimations];
}
Перед нажатием на кнопку У меня есть эта
После нажатия этой
Вы можете увидеть, что изображение вращается на 90 градусов. Но он сместился с начальной точки центра. Также, если я снова нажимаю кнопку, ничего не происходит.
Я идиот :) Как я мог забыть о ограничениях!?! Отключить автомасштабирование - это решение проблемы с изменением стартовой позиции –
Отключение автозапуска не является решением проблемы, это взломать. У меня такая же проблема, и я не могу понять, как «настроить мои ограничения». У меня есть изображение, ориентированное в супервизии, и оно прикреплено к нижней направляющей макета, и оно имеет фиксированную ширину и высоту. Какие ограничения приводят к смещению центра при повороте? Я взломал его, установив translatesAutoresizingMaskIntoConstraints в true на изображении. Это не решает реальной проблемы. – d370urn3ur