2013-05-30 13 views
5

Düzenleme modunda bir UITableView oluşturdum, bu tablo görünümünü içeren bir viewcontroller'ın viewDidLoad işlevinde düzenleme moduna geçmesini zorluyorum. Her şey yolunda, her bir satırın solunda bir silme simgesi, sağda re-arrange simgesi var. Sadece sağ yeniden düzenlemek simgesini göstermek, sorun ben kırmızı solda simgesini silin göstermek istemediğiniz her satır üzerindeios UITableView silme modunu silme/yeniden düzenleme, silme simgesi silme

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

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return YES; 
} 

uyguladı. Kullanıcı silmek istediğinde, silmek için bir satırı hızlıca kaydırabilir.

Bunu yapmak istediğim nedeni, kullanıcıyı bir satır ürününü silmeye teşvik etmem. Bir düğmeye bastığımı anlıyorum, kullanıcı bu düğmeye tıkladığında Edit moduna geçiyorum, ama bunu yapmak istemiyorum, kullanıcı benim viewcontroller'ıma giderken başlangıçta yeniden düzenleme fonksiyonunu göstermek istiyorum .

Bunu yapabilir miyim?

bana bazı ekran koyalım ilk görüntü ne var

This is what I got

This is what I want to show. When user swipe I want to show a Delete button overlay the arrange icon on the right

vuruldu.

İkinci görüntü, aslında göstermek istediğim şey. Kullanıcı tokatlamak istediğimde bir Sil düğmesi göstermek istiyorum sağdaki düzenleme simgesinin üzerini görüntülemek

+0

Ekran görüntüsü ekleyebilir misiniz? – Khawar

+0

UITableViewCellEditingStyleNone olmak için editingStyleForRowAtIndexPath değiştirmeyi deneyin? –

+0

@verbumdei Thks, Bunu denedim ama kullanıcı silmek için kaydırılamıyor, kullanıcı –

cevap

9

Tablo görünümü düzenleme modundayken silmek için kaydırmayı kullanabileceğinizi düşünmüyorum, bunun yerine UISwipeGesture ekleyebilir ve kendi özel bilgilerinizi uygulayabilirsiniz buton.

Eğer hareketlerle yapıyorsanız, o zaman aşağıdaki UITableView temsilci yöntemlerini uygulamanız gerekir.

hiçbiri düzenleme stili ayarlama:

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

Bu tablo görünümü Sen nasıl bilmek this linki başvurabilir

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

düzenleme modunda iken satırları girintili gerektiğini söyler UITableView'a kaydırma hareketi eklemek için.

+0

Teşekkürler, uitableview için jest tanıyıcıyı özelleştirmeyi düşünüyorum. Bilmiyorum, masanın herhangi bir mülkü var, bunu yapmama izin veriyor. :) Belki de ihtiyacım için bunu yapmalıyım –