Saya perlu menambahkan beberapa ruang kosong ke bagian atas UITableView saya yang tidak memengaruhi ukuran area konten. Menggeser konten ke bawah atau menambahkan sel kosong BUKANLAH yang ingin saya lakukan. Sebaliknya saya hanya ingin offset.
Bagaimana?
ios
uitableview
cocoa-touch
uikit
contentoffset
bluefloyd8.dll
sumber
sumber
Anda dapat menambahkan tampilan header "kosong" ke tabel ... ini akan membuat tampilan awal tabel memiliki offset, tetapi setelah Anda mulai menggulir, offset akan hilang. TIDAK yakin itu yang Anda inginkan.
Jika Anda memerlukan offset permanen dan belum menggunakan header bagian, Anda dapat membuat offset seperti di atas dengan membuat tampilan kustom untuk header bagian, terutama jika Anda hanya memiliki satu bagian, ini bisa memberi Anda tampilan offset permanen .
Saya dapat memposting kode contoh jika sepertinya salah satu dari itu yang Anda cari.
sumber
Saya menggabungkan jawaban Jigzat dengan:
[self.tableView scrollRectToVisible:CGRectMake(0, 0, 320, 1) animated:NO];
di
- (void)viewDidLoad
jadi sel pertama tidak ada di atas.
sumber
Swift 5.1.0
tambahkan yang berikut ini di viewDidLoad
tableView.contentInset.top = 100
Sungguh hanya itu saja.
override func viewDidLoad() { super.viewDidLoad() tableView.contentInset.top = 100 }
sumber
Kedengarannya seperti Anda ingin membungkus 'View' di sekitar Anda
UITableView
. Jika Anda memiliki aUITableViewController
di IB, makaUITableView
akan secara otomatis disetel keview
dariUITableViewController
. Anda mengubahview
properti menjadi normalUIView
dan menambahkan properti AndaUITableView
di sana dan memberikan offset.--- Edit --- Saya baru saja membaca posting saya dan berpikir itu tidak masuk akal :) Ketika Anda membuat,
UITableViewController
Anda mendapatkan ini (dalam kode pseudo):UITableViewController.view = UITableView
Ini berarti tabel sebenarnya akan menggunakan seluruh ruang dan Anda bahkan tidak dapat menambahkan tampilan lain. Jadi, Anda perlu mengubah file
UITableViewController.view = UIView
dan tambahkan tabel Anda ke situ
UIView
sumber
Saya menggabungkan jawaban ini dengan yang ini: https://stackoverflow.com/a/9450345/1993937
Untuk membuat tableView muncul di bagian atas inset konten, sehingga ruang di bagian atas tidak terpotong dengan menggulir tableView sedikit ke bawah saat tampilan pertama kali muncul. (18 adalah celah teratas saya)
[self.tableView setContentInset:UIEdgeInsetsMake(18,0,0,0)]; [self.tableView setContentOffset: CGPointMake(0, -self.songListTable.contentInset.top) animated:YES];
sumber