我有一个自定义的TableViewCell
。在此里面,我想添加另一个TableView
,但是遇到问题。我有这样的东西:
import UIKit
class ByteCell: UITableViewCell, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var title: UILabel!
@IBOutlet weak var game: UIImageView!
@IBOutlet weak var TableView: UIView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
}
首先,我不会写:
tableView.delegate = self
tableView.dataSource = self
在这里的任何地方,所以我根本无法修改tableView。
第二,确实出现的TableView
,没有任何行,并且无法滚动。我本质上想在TableView
内的自定义单元格内制作可滚动的TableView
。这可能吗?
谢谢!
您绝对可以将UITableView放在UITableViewCells中
放置.delegate = self的位置取决于创建单元的方式。
如果您以编程方式创建了它,则使用override init
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
tableView = UITableView()
tableView.delegate = self
tableView.dataSource = self
}
但是如果您从笔尖或情节提要中加载单元,则使用initWithCoder
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
tableView = UITableView()
tableView.delegate = self
tableView.dataSource = self
}
return self;
}
只是一个提示,您正准备走上坎road的道路。不过,它完全有可能是个好运!