0

当我旋转图像时,它会向右移动。它不应该。似乎中心设置到了错误的点。见截图:在两种状态下——旋转而不是旋转——“+”的中心不应该改变。

在此处输入图像描述

我正在使用这样的自动布局定位 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) {
                 }
 ];

轮换如何正确移动,我该如何避免?

4

1 回答 1

1

我的第一个猜测是您的图像资产不是完全正方形的。

调整 AddCardIcon.png 的大小,使其具有相同的宽度和高度,并且在任何一侧都没有任何透明填充。

否则,手动确定 + 的中心并设置addIconImageView.layer.anchorPoint

于 2013-03-07T19:22:44.743 回答