cellForRowAtIndexPath
のような方法でセルをロードするのは苦労しています.1つのセルのみにカスタムオフセットを与えることができます。私の場合は、セル1、セクション1にのみカスタムオフセットを与えたいと思います。同じセル(xib)がプロジェクトの他の部分で使用されているので、オフセットのないテーブルの端まで拡張されます。すべてのセルは* .xibファイルとして設計されています。私はawakeFromNib()
やその他の方法で何かを設定したいと思っています。作成時にUITableViewCellにオフセットを追加しますか?
作成時またはセルのロード時にセルオフセット、インセット、マージン、パディング(正しい言葉遣いについてはよく分からない)を設定する方法はありますか?
私は、このようにマージンを設定しようとしたが、それは動作しません:
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
}
セクションヘッダーを使用するように見えます。 – shallowThought
@shallowThought興味深い考え。あなたは少し拡大できますか? 'viewForHeaderInSection'を実装しました。ここで' UITableViewCell'のサブクラスである 'MyCell()'が返されていて動作しません。私はちょうど空のヘッダを取得しています。何が間違っている可能性がありますか? – Andrej
ヘッダは 'UITableViewHeaderFooterView'のサブクラスである必要があります。さらに詳しい情報はhttps://developer.apple.com/reference/uikit/uitableviewheaderfooterview – Mark