2016-10-18 4 views
0

Ich verwende das iCarousel-Modul in meinem CollectionView. Die Karussellansicht befindet sich in meiner UICollectionViewCell.iCarousel numberOfItemsInCarousel

Mein Code ist wie folgt.

class CelebrityDetailHeaderCell: UICollectionViewCell, UITextFieldDelegate, SDCycleScrollViewDelegate, iCarouselDataSource, iCarouselDelegate { 

@IBOutlet weak var backgroudLab: UILabel! 
@IBOutlet weak var name_en: UILabel! 
@IBOutlet weak var name_tw: UILabel! 
@IBOutlet weak var intro: UILabel! 
@IBOutlet weak var DetailImg: UIImageView! 
@IBOutlet weak var iCarouselView: iCarousel! 

let screenWidth = UIScreen.mainScreen().bounds.width 
let screenHeight = UIScreen.mainScreen().bounds.height 

override func awakeFromNib() { 
    super.awakeFromNib() 

    iCarouselView.delegate = self 
    iCarouselView.dataSource = self 

    iCarouselView.type = .Linear 
} 

func numberOfItemsInCarousel(carousel: iCarousel) -> Int { 
    return 1 
} 
func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView { 
    let tempView = UIView(frame: CGRect(x: 0, y: screenWidth/2, width: screenWidth, height: screenWidth/2)) 
    tempView.backgroundColor = UIColor.redColor() 
    return tempView 
} 
func carousel(carousel: iCarousel, valueForOption option: iCarouselOption, withDefault value: CGFloat) -> CGFloat { 
    if option == iCarouselOption.Spacing { 
     return 1.2 
    } 
    return value 
} 

}

Die Fehlermeldung ist, wie folgend

app Beenden aufgrund abgefangene Ausnahme 'NSInvalidArgumentException', Grund: ‚- [NSObject numberOfItemsInCarousel]: unerkannten Selektor gesendet Instanz 0x7f99bb3734a0 '

Ich habe numberOfItemsInCarousel gesetzt, warum die Fehlermeldung das zeigte. Hilft mir jemand? Vielen Dank.

+0

Absturz Denn irgendwo ist es „NSObject“ Objekt, das die Anweisung erhalten Rufen Sie 'numberOfItemsInCarousel:' auf, aber kein 'CelebrityDetailVC'-Objekt. – Larme

+0

Wie füge ich iCarousel in collectionviewcell hinzu? –

Antwort

0

Sie müssen eine Dealloc-Methode in Ihrer Zelle hinzufügen. Als Ihre Zelle ausgeplant bekommen und die iCarousel delegieren diese Methode zu einem gewissen deallokierten Beispiel ruft das ist, warum ist es

Brief dealloc Verfahren wie diese

- (void)dealloc{ 
    iCarouselView.delegate = nil 
    iCarouselView.dataSource = nil 
} 
+0

Es hat nicht funktioniert. –

Verwandte Themen