【发布时间】:2025-12-06 08:20:06
【问题描述】:
看起来动画不是我的专长:/
在我的导航栏中,我有一个自定义 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))
})
我可以看到按钮开始旋转,但不知何故它完全变形了。请参阅图片:
之前:
之后:
我不明白为什么会这样。 如何正确地为 BarButtonItem 设置动画?
提前致谢。
问候
【问题讨论】:
标签: ios animation rotation uibarbuttonitem