มีวิธีลบบรรทัดตัวแยกออกจาก UITableView หรือไม่


225

ฉันกำลังมองหาวิธีที่จะลบเส้นคั่นใน UITableView อย่างสมบูรณ์เมื่ออยู่ในโหมดธรรมดา สิ่งนี้ทำได้โดยอัตโนมัติในการจัดกลุ่ม แต่สิ่งนี้จะเปลี่ยนขนาดของตารางด้วยวิธีที่ยากต่อการวัด ฉันได้ตั้งค่าสีของตัวแยกบรรทัดเป็น colorClear แต่นี่ยังไม่สามารถแก้ปัญหาได้อย่างสมบูรณ์

ขณะที่ฉันพยายามวาดมุมมองพื้นหลังแบบกำหนดเองในเซลล์และฉันต้องการให้เซลล์ไร้รอยต่อหนึ่งพิกเซลที่เหลืออยู่ระหว่างนั้นทำให้ฉันมีปัญหา มีวิธีแก้ปัญหาที่หรูหรากว่าใช้มุมมองที่จัดกลุ่มแล้วยืดออกหรือไม่


เปลี่ยนseparatorInsetเหมือนในคำตอบนี้stackoverflow.com/a/8561820/1418457
onmyway133

คำตอบ:


454

คุณสามารถทำเช่นนี้กับสถานที่ให้บริการUITableView separatorStyleตรวจสอบให้แน่ใจว่ามีการตั้งค่าคุณสมบัติUITableViewCellSeparatorStyleNoneและคุณตั้งค่าไว้

Objective-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

ใน Swift (ก่อนหน้า 3)

tableView.separatorStyle = .None

ในสวิฟท์ 3/4/5

tableView.separatorStyle = .none

39
คุณสามารถทำได้ใน IB โดยวิธี (separator => none)
บาร์ตจาคอบส์

1
ดูเหมือนว่าจะลบเส้นคั่นภายในส่วนของตารางเท่านั้น มีวิธีลบบรรทัดคั่นระหว่างส่วนหรือไม่
devios1

4
บรรทัดระหว่างส่วนนั้นไม่ใช่เส้น แต่เป็นมุมมองของส่วน คุณสามารถเปลี่ยนมุมมองโดยใช้tableView:viewForHeaderInSection:จากUITableViewDelegateโปรโตคอล
Bart Jacobs

64

คุณสามารถทำสิ่งนี้ได้ใน Storyboard / xib editor เช่นกัน เพียงตั้งค่าตัวคั่นเป็นไม่มี

ป้อนคำอธิบายรูปภาพที่นี่



18

ฉันยังมีเส้นสีเทาเข้มหลังจากพยายามหาคำตอบอื่น ๆ ฉันต้องเพิ่มสองบรรทัดต่อไปนี้เพื่อทำให้ทุกอย่าง "มองไม่เห็น" ในแง่ของบรรทัดแถวระหว่างเซลล์

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

สิ่งนี้ใช้ได้สำหรับฉัน ในกรณีของฉันเส้นคั่นไม่ปรากฏจริงระหว่างเซลล์ แต่จริง ๆ แล้วบางแห่งอยู่ตรงกลางของพวกเขา
Elliot

10

ในเครื่องมือสร้างชุดตัวแยกมุมมองอินเทอร์เฟซให้ตั้งค่า "ไม่มี"

ป้อนคำอธิบายรูปภาพที่นี่ และเส้นคั่นที่แสดงหลังจากเซลล์สุดท้ายสามารถลบได้โดยวิธีการดังต่อไปนี้ วิธีที่ดีที่สุดคือกำหนดมุมมองว่างให้กับ tableView FooterView ใน viewDidLoad

self.tableView.tableFooterView = UIView ()



5

มีข้อบกพร่อง iOS 9 เบต้า 4: เส้นคั่นปรากฏระหว่างUITableViewCells แม้ว่าคุณseparatorStyleจะตั้งค่าUITableViewCellSeparatorStyleNoneจากกระดานเรื่องราว ในการหลีกเลี่ยงปัญหานี้คุณต้องตั้งค่าจากรหัสเพราะ ณ ตอนนี้มีข้อผิดพลาดจากกระดานเรื่องราว หวังว่าพวกเขาจะแก้ไขมันในเบต้าในอนาคต

นี่คือรหัสที่จะตั้ง:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

ในวิธีการ ViewDidLoad คุณต้องเขียนบรรทัดนี้

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

นี่คือรหัสที่ใช้งานได้


1

ในviewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.