wie Animationen sieht sind nicht meine Spezialität:/Drehen BarButtonItem um 45 Grad (animiert)
In meiner Navigationsleiste habe ich eine benutzerdefinierte BarButtonItem, ein Plus, Sachen in die Liste hinzuzufügen. Ich wollte das Plus um 45 Grad drehen, so dass es zu einem X wurde, wenn es gedrückt wurde und dann als Abbrechen-Taste funktioniert.
habe ich eine Taste als benutzerdefinierte Ansicht auf den BarButtonItem durch dies zu tun:
@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)
}
}
Dies scheint gut zu funktionieren. Nun, wenn die Taste gedrückt wird ich folgendes tun:
UIView.animate(withDuration: 0.5, animations:{
self.addQuestionaryButton.customView!.transform = CGAffineTransform(rotationAngle: CGFloat(M_PI_4))
})
ich die Taste Start sehen drehen, aber irgendwie wird es völlig deformiert. Sehen Sie die Bilder für das:
Vorher:
Nach:
Ich verstehe nicht, warum dies geschieht. Wie animiere ich das BarButtonItem korrekt?
Vielen Dank im Voraus.
Grüße
Hallo sorry für die späte Antwort, ich hatte ein arbeitsreiches Wochenende. Ich werde das heute Abend versuchen und werde es euch wissen lassen. Danke. –
@Hardcore_Graverobber NVM, Beispielcode hinzugefügt FYI – jokeman
Sehr gut, vielen Dank, das hat perfekt funktioniert. Ich frage mich immer noch, warum es überhaupt nicht funktioniert hat, aber jetzt ist es gut! –