इनमें से कोई भी समाधान iPad पर काम नहीं करता है, लेकिन मैं एक ऐसा समाधान लेकर आया हूं, जिसमें दोनों उपकरणों को शामिल किया गया है:
पुन: प्रयोज्य कोशिकाओं के साथ:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
...[other code]...
[cell setLayoutMargins:UIEdgeInsetsZero];
[cell setSeparatorInset:UIEdgeInsetsZero];
return cell;
}
गैर पुन: प्रयोज्य कोशिकाओं के साथ:
- (void)removeSeparatorInset:(UITableView*)tableView{
NSArray *cells = [tableView visibleCells];
for (UITableViewCell *cell in cells){
[cell setLayoutMargins:UIEdgeInsetsZero];
[cell setSeparatorInset:UIEdgeInsetsZero];
}
}
-(void) viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[self removeSeparatorInset:self.tableView];
}
बस इस दृष्टिकोण पर विस्तार करने के लिए:
@property(nonatomic) UIEdgeInsets separatorInset;
@property(nonatomic) UIEdgeInsets layoutMargins;
दोनों गुणों का उपयोग UITableView
& द्वारा किया जा सकता है UITableViewCell
। उत्तरार्द्ध, वास्तव में, की एक संपत्ति है UIView
, जो दोनों का एक मूल वर्ग है UITableView
& UITableViewCell
।
UITableView
एक संपत्ति हैseparatorInset
।UITableView
लाइन विभाजक के इनसेट को शून्य पर सेट करें । इसके अलावा आपseparatorInset
स्टोरीबोर्ड से बदल सकते हैं