क्या UITableView से विभाजक रेखा को हटाने का कोई तरीका है?


225

जब मैं सादे मोड में UITableView में विभाजक रेखा को पूरी तरह से हटाने के लिए रास्ता ढूंढ रहा हूं। यह स्वचालित रूप से समूहीकृत में किया जाता है, लेकिन यह तालिका के आयामों को इस तरह से भी बदलता है जिसे मापना मुश्किल है। मैंने सेपरेटर लाइन का रंग colorClear पर सेट किया है। लेकिन इससे समस्या पूरी तरह से हल नहीं होती है।

जैसा कि मैं कोशिकाओं में एक कस्टम पृष्ठभूमि दृश्य आकर्षित करने की कोशिश कर रहा हूं, और मैं चाहता हूं कि कोशिकाएं निर्बाध हों, एक पिक्सेल रेखा जो बीच में बनी हुई है, जिससे मुझे परेशानी हो रही है। वहाँ एक और अधिक सुंदर समाधान है तो एक समूहीकृत दृश्य का उपयोग कर और फिर इसे खींच?


separatorInsetइस उत्तर में बदलाव करें stackoverflow.com/a/8561820/1418457
onmyway133

जवाबों:


454

आप UITableViewसंपत्ति के साथ ऐसा कर सकते हैं separatorStyle। सुनिश्चित करें कि संपत्ति सेट है UITableViewCellSeparatorStyleNoneऔर आप सेट हैं।

उद्देश्य सी

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

स्विफ्ट में (3 से पहले)

tableView.separatorStyle = .None

स्विफ्ट 3/4/5 में

tableView.separatorStyle = .none

39
आप इसे आईबी में भी कर सकते हैं, वैसे (विभाजक => कोई नहीं)।
बार्ट जैकब्स

1
यह केवल एक तालिका अनुभाग के भीतर विभाजक लाइनों को हटाने के लिए लगता है। क्या वर्गों के बीच विभाजक रेखाओं को हटाने का एक तरीका है ?
devios1

4
वर्गों के बीच की रेखा वास्तव में एक रेखा नहीं है, बल्कि अनुभाग का दृश्य है। आप प्रोटोकॉल tableView:viewForHeaderInSection:से लागू करके दृश्य बदल सकते हैं UITableViewDelegate
बार्ट जैकब्स


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

18

अन्य उत्तरों का प्रयास करने के बाद भी मेरे पास एक गहरे भूरे रंग की रेखा थी। मुझे कोशिकाओं के बीच की पंक्ति लाइनों के संदर्भ में सब कुछ "अदृश्य" बनाने के लिए निम्नलिखित दो पंक्तियों को जोड़ना था।

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

इसने मेरे लिए काम किया। मेरे मामले में, विभाजक रेखा वास्तव में कोशिकाओं के बीच दिखाई नहीं दे रही थी, लेकिन वास्तव में उनके बीच में कहीं थी।
इलियट

10

इंटरफ़ेस बिल्डर सेट टेबल व्यू सेपरेटर "कोई नहीं" में

यहां छवि विवरण दर्ज करें और उन विभाजक रेखाओं को जो अंतिम सेल के बाद दिखाए जाते हैं, को निम्नलिखित दृष्टिकोण से हटाया जा सकता है। सबसे अच्छा तरीका यह है कि ViewDidLoad में tableView FooterView को खाली दृश्य असाइन करें

self.tableView.tableFooterView = UIView ()



5

बग आईओएस 9 बीटा 4 है: विभाजक रेखा UITableViewCellएस के बीच दिखाई देती है भले ही आप स्टोरीबोर्ड से सेट 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];
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.