当我旋转图像时,它向右移动。它不应该。似乎中心设置错误了。参见屏幕截图:在两种状态下 - 旋转而不是 - “+”的中心不应改变。
我使用这样的自动布局定位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 :(得分:1)
我的第一个猜测是你的图像资产不是完全正方形。
调整AddCardIcon.png的大小,使其具有相同的宽度和高度,并且在任何一侧都没有任何透明填充。
否则,手动确定+的中心并设置addIconImageView.layer.anchorPoint