Ich habe Probleme, eine Zelle in cellForRowAtIndexPath
in einer solchen Weise zu laden, dass ich einen benutzerdefinierten Offset nur für eine Zelle geben kann - in meinem Fall nur für Zelle 1, Abschnitt 1. Ich möchte einen benutzerdefinierten Offset geben Zelle, da dieselbe Zelle (xib) in anderen Teilen des Projekts verwendet wird, wo sie ohne Versatz zu den Rändern der Tabelle verläuft. Alle meine Zellen sind als * .xib-Dateien konzipiert. Ich bin bereit, etwas in awakeFromNib()
oder andere Methoden zu setzen, wenn es die Notwendigkeit dafür gibt.Offset zu UITableViewCell zum Zeitpunkt der Erstellung hinzufügen?
Gibt es eine Möglichkeit, die Zelle zu setzen versetzt, einfügung, Ränder, Polsterung (nicht sicher über die korrekte Formulierung) zum Zeitpunkt der Erstellung oder zum Zeitpunkt der Belastung der Zelle?
Ich habe versucht, die Margen auf diese Weise festgelegt, aber es funktioniert nicht:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (indexPath.section == 0) && (indexPath.row) == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MyCell
cell.layoutMargins = UIEdgeInsetsMake(10, 10, 10, 10)
return cell
}
} else {
// Load other cells
}
Es sieht so aus, als ob Sie eine Abschnittsüberschrift verwenden möchten. – shallowThought
@ShallowThought Interessante Idee. Kannst du ein wenig erweitern? Ich habe die 'viewForHeaderInSection' implementiert, wo ich' MyCell() 'zurückgebe, was eine Unterklasse von' UITableViewCell' ist und es nicht funktioniert. Ich bekomme nur einen leeren Header. Irgendwelche Ideen, was könnte falsch sein? – Andrej
Ihr Header muss eine Unterklasse von 'UITableViewHeaderFooterView' sein. Mehr Infos hier: https://developer.apple.com/reference/uikit/uitableviewheaderfooterview – Mark