Ich habe ein Design gegeben, wo jeder UISwitch
einen thumbTintColor
für es ist ein Zustand und einen anderen für den Aus-Zustand hat. Was ich versuche zu erreichen, ist die Implementierung dieses Designs, aber bis jetzt weiß ich nicht, warum die Animation, die den Daumen von rechts nach links bewegen soll oder umgekehrt, aus Mangel an passenderen Wörtern komplett wird durcheinander.Animation zwischen Änderungen des Ein/Aus-Status von UISwitch gebrochen wegen Änderung der thumbTintColor
Grundsätzlich, wenn ein Schalter angetippt wird, wird sein Daumen, anstatt von einem Ende zum anderen zu gleiten, verzerrt und erscheint sofort am anderen Ende des Schalters. Dies ist so nah wie ich die Verzerrung beschreiben kann, ohne ein Video der tatsächlichen Anomalie zu liefern.
Meine, wenn auch wild, Vermutung ist, dass dies etwas mit dem Innenleben von UIKit
und animatable
, oder dem Fehlen von Eigenschaften bestimmter UIControls
zu tun. Die einzige Schlussfolgerung, zu der ich gekommen bin, ist bisher, den Standard UISwitch
zu entfernen und eine benutzerdefinierte UIControl
zu machen, die für etwas so Triviales übertrieben erscheint.
Der Code dieses Verhalten zu reproduzieren ist in dem folgende Verfahren mit einem UISwitch
in einer Zelle Tableview:
@IBAction func allWheelDriveSwitchValueChanged(_ sender: UISwitch) {
if sender.isOn {
sender.thumbTintColor = AppColor.myYellow
} else {
sender.thumbTintColor = AppColor.darkGray
}
}
Wo AppColor
eine Enumeration mit voreingestellten UIColor
Objekten. Ich habe versucht, dies in Animationsblöcke mit dem Aufruf layoutIfNeeded
von der contentView der Zelle setzen, aber ohne Erfolg.
Jede Hilfe oder Einsicht würde sehr geschätzt werden.
Hallo verwenden, habe ich versucht, und das Problem weiterhin besteht. Diese Aufzählung ist nur ein Wrapper für eine statische Methode, die Hex-Werte UIColors zuordnet und diese Farben als statische Requisiten speichert. Es hat eigentlich keine Fälle, nur eine einzige Methode und in jeder Hinsicht könnte es auch eine Struktur gewesen sein, so dass sie völlig unabhängig von meinem Problem ist. Trotzdem danke. –