• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

IBOutlet an Klasse übergeben

MacBerndMUC

deaktivierter Benutzer
Registriert
23.08.15
Beiträge
7
Ist das technisch möglich ein Slider oder Switch von einer View in eine Klasse zu verketten? Ich will statt dem fest eingestellten Wert 0.75 für Elasticity ein Outlet eines Slider in diese Klasse ziehen. XCode lässt das aber nicht zu.

Ist es technisch gesehen überhaupt möglich einen Wert eines Slider hier rein zu bringen?

Code:
import UIKit

class DropitBevavior: UIDynamicBehavior {

    let gravity = UIGravityBehavior()
    lazy var collider: UICollisionBehavior = {
        let lazilyCreatedCollider = UICollisionBehavior()
        lazilyCreatedCollider.translatesReferenceBoundsIntoBoundary = true
        return lazilyCreatedCollider
        }()

    lazy var dropBehavior: UIDynamicItemBehavior = {
        let lazilyCreatedDropBehavior = UIDynamicItemBehavior()
        lazilyCreatedDropBehavior.allowsRotation = false
        lazilyCreatedDropBehavior.elasticity = 0.75
        return lazilyCreatedDropBehavior
    }()

    overrideinit() {
        super.init()
        addChildBehavior(gravity)
        addChildBehavior(collider)
        addChildBehavior(dropBehavior)
    }

    func addDrop(drop: UIView) {
        dynamicAnimator?.referenceView?.addSubview(drop)
        gravity.addItem(drop)
        collider.addItem(drop)
        dropBehavior.addItem(drop)
    }

    func removeDrop(drop: UIView) {
        gravity.removeItem(drop)
        collider.removeItem(drop)
        dropBehavior.removeItem(drop)
        drop.removeFromSuperview()
    }
}
 

MacBerndMUC

deaktivierter Benutzer
Registriert
23.08.15
Beiträge
7
Lösung: Den Wert in einer Variable in der AppDelegate als globale Variable initialisieren. Dann mit dem Slider diese Variable verändern. Da die Variable global ist, ist sie in jeder Klasse verfügbar.