Bir UITableView ayırıcı çizgi kaldırmak için bir yolu var mı?


225

Ben tamamen düz modda bir UITableView ayırıcı satır kaldırmak için bir yol arıyorum. Bu grup halinde otomatik olarak yapılır, ancak bu tablonun boyutlarını ölçülmesi zor bir şekilde değiştirir. Ayırıcı çizgi rengini colorClear olarak ayarladım. Ancak bu sorunu tamamen çözmez.

Hücrelerde özel bir arka plan görünümü çizmeye çalıştığım ve hücrelerin kesintisiz olmasını istediğim için, arada kalan bir piksel çizgisi bana sorunlara neden oluyor. Gruplandırılmış bir görünüm kullandıktan ve sonra gerdirmekten daha zarif bir çözüm var mı?


separatorInsetBu cevaptaki gibi değişiklik stackoverflow.com/a/8561820/1418457
onmyway133

Yanıtlar:


454

Bunu UITableViewözellik ile yapabilirsiniz separatorStyle. Özelliğin olarak ayarlandığından UITableViewCellSeparatorStyleNoneve ayarlandığından emin olun .

Objective-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

Swift'te (3'ten önce)

tableView.separatorStyle = .None

Swift 3/4/5 içinde

tableView.separatorStyle = .none

39
Bunu ayrıca IB'de de yapabilirsiniz (separator => none).
Bart Jacobs,

1
Bu yalnızca bir tablo bölümündeki ayırıcı çizgileri kaldırmış gibi görünüyor. Bölümler arasındaki ayırıcı çizgileri kaldırmanın bir yolu var mı ?
devios1

4
Bölümler arasındaki çizgi gerçekten bir çizgi değil, bölümün görünümüdür. Sen uygulayarak görünümü değiştirebilir tableView:viewForHeaderInSection:gelen UITableViewDelegateprotokol.
Bart Jacobs

64

Bunu film şeridi / xib editöründe de yapabilirsiniz. Seperator öğesini none olarak ayarlayın.

resim açıklamasını buraya girin


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

18

Diğer cevapları denedikten sonra hala koyu gri bir çizgim vardı. Hücreler arasındaki satır satırları açısından her şeyi "görünmez" yapmak için aşağıdaki iki satırı eklemek zorunda kaldım.

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

Bu benim için çalıştı. Benim durumumda, ayırıcı çizgi aslında hücreler arasında değil, aslında ortasında bir yerde beliriyordu.
Elliot

10

Arayüz Oluşturucu kümesinde tablo görünümü ayırıcı "Yok"

resim açıklamasını buraya girin ve son hücreden sonra gösterilen ayırıcı çizgiler, aşağıdaki yaklaşımla çıkarılabilir. En iyi yaklaşım tabloya Boş Görünüm atamaktır ViewDidLoad

self.tableView.tableFooterView = UIView ()



5

Ayırıcı çizgi arasında görünen: böcek bir iOS 9 beta 4 Orada UITableViewCellayarladığınız bile s separatorStyleiçin UITableViewCellSeparatorStyleNoneStoryboard'dan. Bu sorunu çözmek için koddan ayarlamanız gerekir, çünkü şu an için storyboard'dan bir hata var. Umarım gelecek betada düzeltirler.

Ayarlamak için kod şöyledir:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

ViewDidLoad yönteminde bu satırı yazmanız gerekir.

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

Bu çalışan Kod.


1

Sizin viewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.