2016-04-17 10 views
1

Ich versuche, iCarousel zu verwenden, um eine Reihe von Elementen anzuzeigen. Ich wollte dafür ein Storyboard UIView verwenden, also habe ich eine benutzerdefinierte Klasse einer UIView erstellt. Ich habe auch eine XIB-Datei dafür erstellt und die Ansicht nach meinen Wünschen eingerichtet. Ich habe dann die Ausgänge meiner Sicht mit der Klasse verbunden. Ich versuche nun, eine UIView neu zu erstellen, damit ich sie für mein Karussell verwenden kann. Hier ist meine eigene Klasse von UIView:Verwenden einer benutzerdefinierten UIView für iCarousel

Custom Class

Hier ist mein Code für mein Karussell:

func numberOfItemsInCarousel(carousel: iCarousel) -> Int { 
    return costs.count 
} 

func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView { 
    let rView = ReturnView(frame: CGRectMake(0, 0, 220, 220)) 
    rView.backgroundColor = UIColor.greenColor() 
    print(rView.deleteBtn)//fatal error: Unexpectedly found nil when unwrapping an optional value 
    return rView 

} 

Wie Sie aus meinem fatalen Fehler sehen können, Löschen-Taste nicht existiert. Das gleiche gilt für den Rest meiner Elemente. Keiner der Subviews erscheinen:

Subviews

Wie kann ich die Subviews auf meinem iCarousel erscheinen bekommen? Danke für Ihre Hilfe.

Antwort

0

versuchen Sie dies in Ihrem Karussell Funktion

{ 
var myView : UIView 
if(myView != nil) 
{ 
myView = view as! ReturnView  
} 
else{ 
var topLevelObjects : NSArray = NSBundle.mainBundle().loadNibNamed("your_xib_name", owner: self, options: nil) 
myView = topLevelObjects.objectAtIndex(0) as! ReturnView 
} 
return myView } 

Sie müssen den Blick von ur xib auf der aktuellen Ansicht laden. Stellen Sie sicher, u haben die Besitzer von Gewohnheit markiert sehen u als PRESENT-View-Controller erstellt haben, in dem Sie Karussell hinzugefügt werden

0

versuchen Sie dies:

rView.addSubview(myButtonName) 

und für die ‚fatalen Fehler: Unerwartet Null gefunden, wenn eine optionale Abwickeln Wert 'versuchen Sie das:

Ich verstehe wirklich nicht, was Sie versuchen zu tun, "Drucken eines Knopfes?" aber dies könnte ein geeigneter Weg sein, dies zu tun. Hoffe, das hilft ... :)))