Apakah ada cara untuk menghapus garis pemisah dari UITableView?


225

Saya mencari cara untuk menghapus garis pemisah sepenuhnya dalam UITableView ketika dalam mode biasa. Ini dilakukan secara otomatis dalam kelompok, tetapi ini juga mengubah dimensi tabel dengan cara yang sulit untuk diukur. Saya telah mengatur warna garis pemisah ke colorClear. Tapi ini tidak sepenuhnya menyelesaikan masalah.

Saat saya mencoba untuk menggambar tampilan latar belakang kustom di sel, dan saya ingin sel menjadi mulus, satu garis pixel yang tetap di antara menyebabkan masalah saya. Apakah ada solusi yang lebih elegan kemudian menggunakan tampilan yang dikelompokkan dan kemudian merentangkannya?


Ubah separatorInsetseperti pada jawaban ini stackoverflow.com/a/8561820/1418457
onmyway133

Jawaban:


454

Anda dapat melakukan ini dengan UITableViewproperti separatorStyle. Pastikan properti diatur ke UITableViewCellSeparatorStyleNonedan Anda diatur.

Objektif-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

Dalam Swift (sebelum 3)

tableView.separatorStyle = .None

Dalam Swift 3/4/5

tableView.separatorStyle = .none

39
Anda juga dapat melakukan ini di IB, by the way (separator => tidak ada).
Bart Jacobs

1
Ini sepertinya hanya menghapus garis pemisah dalam bagian tabel. Apakah ada cara untuk menghapus garis pemisah antar bagian?
devios1

4
Garis antar bagian sebenarnya bukan garis, tetapi tampilan bagian tersebut. Anda dapat mengubah tampilan dengan menerapkan tableView:viewForHeaderInSection:dari UITableViewDelegateprotokol.
Bart Jacobs


62
- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}

18

Saya masih memiliki garis abu-abu gelap setelah mencoba jawaban lainnya. Saya harus menambahkan dua baris berikut untuk membuat semuanya "tidak terlihat" dalam hal baris baris antar sel.

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];

Ini berhasil untuk saya. Dalam kasus saya, garis pemisah tidak benar-benar muncul di antara sel, tetapi sebenarnya di suatu tempat di tengahnya.
Elliot

10

Dalam antarmuka Builder mengatur pemisah tampilan tabel "Tidak Ada"

masukkan deskripsi gambar di sini dan garis pemisah yang ditunjukkan setelah sel terakhir dapat dihapus dengan mengikuti pendekatan. Pendekatan terbaik adalah dengan menetapkan Tampilan Kosong ke tableView FooterView di viewDidLoad

self.tableView.tableFooterView = UIView ()



5

Ada bug iOS 9 beta 4: garis pemisah muncul antara UITableViewCells bahkan jika Anda mengatur separatorStyleuntuk UITableViewCellSeparatorStyleNonedari storyboard. Untuk menyiasati ini, Anda harus mengaturnya dari kode, karena sampai sekarang ada bug dari storyboard. Berharap mereka akan memperbaikinya di beta masa depan.

Berikut kode untuk mengaturnya:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

Dalam Metode ViewDidLoad, Anda harus menulis baris ini.

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

Ini adalah Kode yang berfungsi.


1

Di Anda viewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.