जवाबों:
यहाँ मेरा पूरा समाधान है, सेल के इंडेंटेशन (0left align) के बिना!
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
स्विफ्ट 3 केवल आवश्यक फ़न के साथ स्वीकृत उत्तर के बराबर:
func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
return false
}
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return .none
}
मुझे एक ऐसी ही समस्या का सामना करना पड़ा जहाँ मैं चाहता था कि कस्टम चेकबॉक्स एडिट मोड में दिखें लेकिन '(-)' डिलीट बटन नहीं।
स्टीफन का जवाब ने मुझे सही दिशा में आगे बढ़ाया।
मैंने एक टॉगल बटन बनाया और इसे सेल में एक editAccessoryView के रूप में जोड़ा और इसे एक विधि पर वायर्ड किया।
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
....
// Configure the cell...
UIButton *checkBoxButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 40.0f, 32.0f)];
[checkBoxButton setTitle:@"O" forState:UIControlStateNormal];
[checkBoxButton setTitle:@"√" forState:UIControlStateSelected];
[checkBoxButton addTarget:self action:@selector(checkBoxButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
cell.editingAccessoryType = UITableViewCellAccessoryCheckmark;
cell.editingAccessoryView = checkBoxButton;
return cell;
}
- (void)checkBoxButtonPressed:(UIButton *)sender {
sender.selected = !sender.selected;
}
इन प्रतिनिधि विधियों को लागू किया
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleNone;
}
जब आप केवल संपादन करते समय (-) डॉट को छुपाना चाहते हैं, लेकिन आप अपने द्वारा कार्यान्वित उपयोगकर्ताओं के लिए हटाए जाने वाले कार्यशीलता को रखना चाह सकते हैं, जैसे कि आपके UITableViewDelegate
प्रोटोकॉल अनुरूप वर्ग में।
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.editing) return UITableViewCellEditingStyleNone;
return UITableViewCellEditingStyleDelete;
}