Когда я поворачиваю изображение, он перемещается вправо. Это не должно. Кажется, что центр установлен в неправильную точку. Смотрите скриншот: В обоих состояниях - вращение и не - центр «+» не должен меняться.UIImage перемещается прямо на вращение - неправильная точка центра?
Я позиционировании UIImageView с помощью автоматической раскладки, как это:
- (void)viewDidLoad {
...
addIconImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"AddCardIcon.png"]];
[addIconImageView setContentMode:UIViewContentModeCenter];
[addIconImageView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:addIconImageView];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[addIconImageView]-(10)-|"
options:nil
metrics:nil
views:NSDictionaryOfVariableBindings(addIconImageView)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat: @"V:|-[addIconImageView]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:NSDictionaryOfVariableBindings(addIconImageView)]];
...
}
И вот что мне делать, чтобы повернуть изображение
[UIView animateWithDuration:0.2
animations:^{
addIconImageView.transform = CGAffineTransformRotate(addIconImageView.transform, M_PI/4);
} completion:^(BOOL finished) {
}
];
Как же двигаться прямо на вращение и как я могу избежать этого?
Если положение изображения не является (0,0), он не будет вращаться от его центра, но от начала системы координат. –
@RamyAlZuhouri Он добавляет преобразование в 'addIconImageView', используя систему координат' addIconImageView'. То, что вы упомянули, было бы проблемой только в том случае, если он использовал свойство преобразования super view. –