我有一个UIButton。在此按钮上,我应用CGAffineTransform
,如下所示:
_mainButton.transform = CGAffineTransformMakeRotation((degrees-heading.trueHeading) * M_PI / 180);
通过这种方式,我可以旋转所有按钮,但我想只旋转背景图像。
因此,myButton.imageView
应保留在其固定位置。怎么能做到这个?
答案 0 :(得分:1)
您必须像这样调整imageView
的{{1}}属性:
UIButton
ImageView的 按钮的图像视图。 (只读)
_mainButton.imageView.transform = CGAffineTransformMakeRotation((degrees-heading.trueHeading) * M_PI / 180);
<强>讨论强>
虽然此属性是只读的,但它自己的属性是可读/写的。使用这些属性配置按钮视图的外观和行为。例如:
@property(nonatomic, readonly, retain) UIImageView *imageView
即使尚未显示按钮,imageView属性也会返回一个值。系统按钮的属性值为nil。
直接来自Apple的文档
答案 1 :(得分:0)
试试这个,效果很好:
- (IBAction)toggle:(UIButton *)sender {
[UIView animateWithDuration:0.2 animations:^{
if (CGAffineTransformEqualToTransform(sender.transform, CGAffineTransformIdentity)) {
sender.transform = CGAffineTransformMakeRotation(M_PI * 0.999);
} else {
sender.transform = CGAffineTransformIdentity;
}
}];
}