2010-02-22 11 views
12

UITableView için hücre yeniden sıralama olanağı sunan düzenleme modunu ayarlıyorum. UITableViewCellEditingStyleNone, her hücre için editingStyleForRowAtIndexPath: yöntemi tarafından döndürülür, ancak hücrenin solunda bir alan ayırır. Böyle bir alanın korunmasını önlemek mümkün mü, solda bir ekleme veya silme simgesine ihtiyacım yok çünkü? Kısacası, mevcut tüm alanları işgal eden ve yine de yeniden düzenlenmiş bir hücreye sahip olmak istiyorum.Düzenleme açıldığında, UITableView'ın hücrenin solunda yer ayırması nasıl önlenir?

cevap

7

Bkz docs: Sen değil girinti yapmak için hücre üzerinde bir boole ayarlayabilirsiniz. Hücreyi oluşturduğunuz yere

'u ekleyin.

+1

Çok teşekkürler, işe yarıyor. biraz bu seçeneği özledim :(Ben kullanım değilim - (BOOL) tableView: (UITableView *) tableView shouldIndentWhileEditingRowAtIndexPath:. (NSIndexPath *) indexPath { \t dönüş YOK; } i bütün hücreler için ihtiyaç nedeniyle –

0

Seti bu 2 veya

3 tableView sevmeye: indentationLevelForRowAtIndexPath:

0

shouldIndentWhileEditing özelliği yalnızca gruplanmış tablolarla çalışır. -3'lik bir girinti seviyesi ayarlamanın düz tablolar için işi yaptığını buldum. Daha iyi bir yolu var mı? İşte şimdi kullanıyorum ne:

if (self.tableView.style == UITableViewStylePlain) { 
     cell.indentationLevel = -3; 
    } else if (self.tableView.style == UITableViewStyleGrouped) { 
     cell.shouldIndentWhileEditing = FALSE; 
    } 
+0

Asla benim için düz tablolar için çalışmalıdır.Hiçbiri, ama sizin çözüm yolu da mümkündür.Bir tür hackish ancak :) –

33

// UITableViewDelegate

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 
+0

bu benim için çalıştı! –

0

sizin UITableViewDelegate hem

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 

ve

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return UITableViewCellEditingStyleNone; 
} 

yapın. Aksi takdirde hücre içeriği girintilidir.

İlgili konular