Первая ячейка неправильного размера
Мне нужно, чтобы первая ячейка в моем tableView отличалась от остальных. Все остальные мои ячейки находятся под классом CustomPFTableViewCell, но первая - это другая ячейка, поэтому она принадлежит классу FirstPFTableViewCell, оба из которых выходят из класса PFTableViewCell. Прямо сейчас я просто использовал if в зависимости от indexPath.row для того, была ли ячейка первой или нет. Когда его нет, он загрузит данные для ячейки из Parse.
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell {
if(indexPath.row >= 1){
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomPFTableViewCell!
print("Loading Parse Database Files...")
// Extract values from the PFObject to display in the table cell
if let name = object?["Name"] as? String {
cell?.nameTextLabel?.text = name
print("Loading " + name)
}
if let author = object?["authorName"] as? String {
cell?.authorTextLabel?.text = author
}
if let likes = object?["Likes"] as? Int {
let stringVal = String(likes)
cell?.numLikes.text = stringVal
}
if let descrip = object?["Description"] as? String {
cell?.descriptionHolder = descrip
}
let initialThumbnail = UIImage(named: "Unloaded")
cell.customFlag.image = initialThumbnail
if let thumbnail = object?["imageCover"] as? PFFile {
cell.customFlag.file = thumbnail
cell.customFlag.loadInBackground()
}
return cell
}
print("Finished loading!")
let cell = tableView.dequeueReusableCellWithIdentifier("firstCell") as! PFTableViewCell
return cell
}
Конец пуст, потому что я не уверен, как изменить размер одной / первой ячейки. (В Интерфейсном Разработчике это установлено на 60). Я думаю, самая важная часть в решении этого заключается в следующем:
let cell = tableView.dequeueReusableCellWithIdentifier("firstCell") as! PFTableViewCell
return cell
}
1 ответ
Решение
Чтобы поиграть с размером ячейки, вы должны реализовать UITableViewDelegate
функция
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 0 {
return firstCellHeight
} else {
return customCellHeight
}