所以,这是我的问题:iOS Swift - 是否有将子视图添加到表格单元格并将其正确定位的方法?
我想创建一个表来显示一些航班数据。这个想法是,每个单元格代表一次旅行(即从城市A到B所需的所有航班)。每个航班有3个属性,我将分成不同的标签,组成线路。因此,细胞必须相应地调整其高度。
这是I`ve迄今所做的:
我的视图控制器类:
@IBOutlet weak var dispTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
dispTable.dataSource = self
dispTable.delegate = self
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("DispCell") as? DispTableViewCell {
let flight1: Flight = Flight()
let flight2: Flight = Flight()
curFlightsIda = [Flight]()
Flight1.Num = "1221"
Flight2.Num = "1331"
curFlightsIda.append(Flight1)
curFlightsIda.append(Flight2)
for voo in curFlightsIda {
let lbl = UILabel(frame: CGRectMake(0, 0, 100, 50))
lbl.textAlignment = NSTextAlignment.Center
lbl.text = voo.Num
cell.contentView.addSubview(lbl)
}
return cell
} else {
return DispTableViewCell()
}
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 100
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
的flight.num存在只是为了测试。我能够以编程方式创建标签,但我觉得我的方式正常工作。m going, the layout won
那么,我该如何创建代表行的标签并将它们正确放置?我在正确的轨道上吗?我搜索了四周,发现了XIB,但我不确定它是否更好..?老实说,我完全失去了,任何帮助将深表谢意。
我真的不知道这会有所帮助,但它会是这样的:
TRIP CELL:
Flight1Num Flight1Departure Flight1Duration
Flight2Num Flight2Departure Flight2Duration
Flight3Num Flight3Departure Flight3Duration
您应该使用自动布局。 – dasdom