Wie kann ich Richtig Nutzen iCarouselOptions mit iOS iCarousel?

Ich bin der Erstellung einer iOS app mit Swift und bin mit iCarousel von GitHub (installiert über cocoapods) und ich bin mir nicht sicher, was ich falsch mache, aber ich kann nicht scheinen, um iCarouselOptions ich habe keine Wirkung...

Was ich will zu tun ist, ändern Sie einfach den Abstand der UIViews in meinem Karussell (Sie sind zu nah zusammen und zu überschneidungen, die ich auch nicht möchte).

Hier ist mein code:

    import UIKit
    import iCarousel

    class MiniGamesViewController: UIViewController, iCarouselDelegate, iCarouselDataSource {

        //Objects
        @IBOutlet weak var leaveMinigamesButton: UIButton!

        //Variables
        var carouselHeight : CGFloat!
        var selectionBallSize : CGFloat!

        override func viewDidLoad() {
            super.viewDidLoad()

            leaveMinigamesButton.layer.zPosition = 3
            carouselHeight = self.view.frame.size.height - 200
            selectionBallSize = self.view.frame.size.width * 0.65

            let carousel = iCarousel(frame: CGRect(
                x: 0,
                y: 100,
                width: self.view.frame.size.width,
                height: carouselHeight))

            carousel.perspective = -0.005
            carousel.centerItemWhenSelected = true
            carousel.decelerationRate = 0.9
            carousel.viewpointOffset = CGSize(width: 0, height: 0) //-selectionBallSize * 1.2

            carousel.dataSource = self
            carousel.type = .rotary
            view.addSubview(carousel)
        }

        override func viewDidAppear(_ animated: Bool) {
            setNeedsStatusBarAppearanceUpdate()
        }

        //This is how many items there will be in my rotary iCarousel
        func numberOfItems(in carousel: iCarousel) -> Int {
            return 6
        }

        //This defines each item or 'cell' in the iCarousel
        func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
            let imageView: UIImageView
            if view != nil {
                imageView = view as! UIImageView
            } else {
                imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: selectionBallSize, height: selectionBallSize))
            }
            imageView.image = UIImage(named: "orbCyan")
            return imageView
        }

        func carousel(_ carousel: iCarousel, valueFor option: iCarouselOption, withDefault value: CGFloat) -> CGFloat {
            switch (option) {
            case .spacing: return value * 2
            case .radius: return 200
            case .fadeMinAlpha: return 0.5
            default: return value
            }
        }
}

Speziell die ganz unten in meinem code ist, wo die Anpassung soll wirksam, aber es scheint nicht zu sein, änderungen vorzunehmen, wenn ich die app starte. Im moment bin ich nur besorgt, mit dem Versuch, den Raum der UIViews in dem Karussell weiter auseinander liegen.

Bin ich setzen die iCarouselOptions Funktion an der richtigen Stelle? Ist es auch "aufgerufen" überhaupt?

Vielen Dank für Ihre Hilfe!

1 Antworten

  • Justin
    4. Mai 2019

    Würden nicht Sie wissen es, sobald ich gepostet diese Frage fand ich die Frage haha (nach einem Tag alles versucht). Stellt sich heraus, die mir fehlte, die einfache Linie:

    carousel.delegate = self
    

    unter:

    carousel.dataSource = self
    

    Total hat den trick und es funktioniert jetzt lol. Ich brauche einen frischen Satz von Augen :P