我正在尝试显示来自tableViewCell的collectionViewCell的xib(因此我可以同时进行水平和垂直滚动,同时每行具有类别)。似乎xib的寄存器是问题所在,因为它无法从适当的位置正确注册? tableView无法注册它,因为它在我尝试注册时失败,我已经在collectionView中注册了它,但是它不会崩溃但没有任何显示。也许这不是最好的方法-但是什么是实现间隔水平滚动和垂直滚动的好选择?到目前为止,这是我的源代码
import UIKit
class DiscoverViewController: UIViewController {
@IBOutlet weak var discoverTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension DiscoverViewController: UICollectionViewDelegate, UICollectionViewDataSource, UITableViewDelegate, UITableViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
collectionView.register(UINib(nibName: "DiscoverCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "DiscoverCollectionViewCell")
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "DiscoverCollectionViewCell", for: indexPath) as! DiscoverCollectionViewCell
cell.authorLabel.text = "this"
cell.coverImage.image = #imageLiteral(resourceName: "discover")
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = discoverTableView.dequeueReusableCell(withIdentifier: "CategoryTableViewCell", for: indexPath) as! CategoryTableViewCell
return cell
}
}
答案 0 :(得分:0)
解决了这个问题,必须将委托和数据源设置为TableView单元文件,并在电视上将xib注册到具有CV实例的位置。感谢@Daniel指出了正确方向的观点。