Я создаю Пользовательский UICollectionView
в UITableViewCell
без Main.Storyboard
. Но метод cellForItemAtIndexPath
не вызывается, поэтому вы можете помочь мне исправить его наилучшим образом.Пользовательский UICollectionView в UITableViewCell в swift
Это мой код:
class IndexRow: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
var names:[String] = ["Movie 1","Movie 2","Movie 3","Movie 4","Movie 5","Movie 6"]
@IBOutlet weak var collectionView: UICollectionView!
override func awakeFromNib() {
super.awakeFromNib()
print("Hello")
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return names.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = self.collectionView.dequeueReusableCellWithReuseIdentifier("videoCell", forIndexPath: indexPath) as UICollectionViewCell
//let url:NSURL = NSURL(string: names[indexPath.row])!
//let dt :NSData = NSData(contentsOfURL: url)!
print("Hello collection")
let imageView:UIImageView = UIImageView(frame: CGRectMake(5, 5, 180, 270))
imageView.image = UIImage(named: "poster.jpg")
imageView.contentMode = .ScaleAspectFit
cell.addSubview(imageView)
let lableView:UILabel = UILabel(frame: CGRectMake(5,300,180,35))
lableView.text = names[indexPath.row]
lableView.textAlignment = NSTextAlignment.Center
cell.addSubview(lableView)
return cell
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let itemsPerRow:CGFloat = 2
let hardCodedPadding:CGFloat = 0
let itemWidth = (collectionView.bounds.width/itemsPerRow) - hardCodedPadding
let itemHeight = collectionView.bounds.height - (hardCodedPadding)
return CGSize(width: itemWidth, height: itemHeight)
}
'' UITableviewCell' содержит UICollectionView'correct? –
Я не понимаю, что я новичок в быстром состоянии, вы можете мне сказать? –
Я дал ответ проверить. –