Saya ingin mengatur ketinggian header pertama di UITableView saya. Untuk tajuk lainnya, saya ingin agar mereka tetap tinggi standar. Nilai / konstan apa yang bisa saya tempatkan "someDefaultHeight" dalam kode di bawah ini?
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return kFirstHeaderHeight;
return someDefaultHeight;
}
Terima kasih
iphone
cocoa-touch
uitableview
kendali
sumber
sumber
Jawaban:
Di iOS 5.0 dan seterusnya Anda dapat mengembalikan UITableViewAutomaticDimension di sebagian besar metode delegasi. Itu di bagian bawah halaman dokumentasi
sumber
UITableViewAutomaticDimension
kembali-1
(hardcoded const) dan saya tidak melihat bagian sama sekali di sayaUITableView
.UITableViewAutomaticDimension
menunjukkan -1 saatNSLog
itu?- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
jika Anda menerapkan- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
metode ini, ini tidak berhasil.UITableViewAutomaticDimension
akan memiliki ketinggian nol.viewForHeaderInSection
Anda hanya perlu mengaturestimatedSectionHeaderHeight
Dari memeriksa default di aplikasi saya, sepertinya untuk tabel yang dikelompokkan, standarnya adalah tinggi 22 dan untuk tabel yang tidak dikelompokkan, standarnya adalah tinggi 10.
Jika Anda memeriksa nilai dari properti sectionHeaderHeight pada tampilan tabel Anda yang akan memberi tahu Anda.
sumber
UITableViewStyleGrouped
adalah 22 danUITableViewStylePlain
10.Sebenarnya lakukan triknya :)
sumber
return [self.tableView sectionHeaderHeight];
, atau lebih baik lagireturn [tableView sectionHeaderHeight];
,. Namun, keduanya mengembalikan -1 untuk saya, mungkin karena saya tidak menggunakan nib atau storyboard.Demi kelengkapan: di iOS7 + tinggi untuk tajuk bagian gaya yang dikelompokkan adalah
55.5
untuk tajuk pertama dan38
selanjutnya. (diukur dengan DCIntrospect)sumber
Untuk swift 4.2 Anda harus mengembalikan UITableView.automaticDimension
sumber
Saya tidak yakin apa jawaban yang benar di sini, tetapi baik 10 atau 22 tampaknya bukan ketinggian yang tepat untuk tampilan tabel yang dikelompokkan di iOS 5. Saya menggunakan 44, berdasarkan pertanyaan ini , dan setidaknya tampaknya secara kasar ketinggian yang benar.
sumber
Untuk mendapatkan tinggi default, biarkan
super
menangani itu:sumber
[super tableView:tableView heightForHeaderInSection:section];
mengembalikan 0 untuk saya, mungkin karena saya tidak menggunakan nib atau storyboard.Ini harus melakukan trik
sumber
return [self sectionHeaderHeight];
[self sectionHeaderHeight];
menghasilkan kesalahan. Apakah maksud Anda[tableView sectionHeaderHeight];
?