看起来动画不是我的强项 :/
在我的导航栏中,我有一个自定义的BarButtonItem,一个加号,用于将物品添加到列表中。我想将加号旋转45度,以便在按下时变为X,并作为取消按钮使用。
我通过将按钮添加为自定义视图到BarButtonItem来实现:
@IBOutlet weak var addQuestionaryButton: UIBarButtonItem!
{
didSet {
let icon = UIImage(named: "add")
let iconSize = CGRect(origin: CGPoint.zero, size: icon!.size)
let iconButton = UIButton(frame: iconSize)
iconButton.setBackgroundImage(icon, for: .normal)
addQuestionaryButton.customView = iconButton
iconButton.addTarget(self, action: #selector(QuestionaryListViewController.addClicked(_:)), for: .touchUpInside)
}
}
这似乎很好地运作。 现在,如果按下按钮,我会执行以下操作:
UIView.animate(withDuration: 0.5, animations:{
self.addQuestionaryButton.customView!.transform = CGAffineTransform(rotationAngle: CGFloat(M_PI_4))
})
我能看到按钮开始旋转,但不知何故它完全变形了。请看下面的图片:
之前:
![按下前的正常状态](https://istack.dev59.com/sEFba.webp)
![输入图像描述](https://istack.dev59.com/NG2sn.webp)
提前感谢。
问候