2010-09-17 22 views
10

Tablo kaydırmak için kaydırma kaydırması tablo görünümünde çalışmıyor. Gezinme çubuğunda commitEditingStyle delegesini ve Düzenle düğmesini uyguladım. Dolayısıyla, kullanıcı düzenleme düğmesine tıkladığında, sil ve ekle düğmeleri uygun şekilde görünür. Ancak, hızlıca kaydırırken, sil düğmesi görünmez ve tokatın setEditing yöntemi için bir çağrı olarak algılanmadığı görülüyor.Kaydırmayı Sil Çalışmıyor

-(void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
NSLog(@"WILL BEGIN EDITING"); 

[self.tableView setEditing:YES animated:YES]; 

} 


-(void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath 

{ 

[self.tableView setEditing:NO animated:YES]; 

} 

Ancak bu da hiçbir etkisi yoktur şu şekildedir:

Sonra willBeginEditingRowAtIndexPath ve didEndEditingRwoAtIndexPath delegelerini uyguladı. Olası sorun ne olabilir? IB'de tablo görünümü için çoklu dokunma özelliğini etkinleştirdim ve her bir hücrenin bir DetailDisclosureButton aksesuarı var.

cevap

7

tokatlamak-to-sil işlevsellik için

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) 
     ; // Delete. 
} 

DÜZENLEMEYİ uygulamak zorunda: yeterince iyi soru okumadım.

Simülatörde hızlıca kaydırma sürüklemesi yapmam gerektiğini fark ettim; hücreyi seçerken bir saniye basmalı ve duraklatmalı ve ancak sonra doğru şekilde hızlıca kaydırabilirim.

+0

Evet, bunu uygulamıştım. Yukarıda bahsettim. Şu anda bir cihaza erişimim yok ve simülatörde test yapıyorum. Simülatörle ilgili bir sorun olabilir mi? – Nathan

+0

Yani yaptın. Afedersiniz. Her durumda, benim düzenlenmiş cevabımı kontrol et. Simülatör, dokunma davranışında, özellikle hızda 1-1 değildir. –

+0

Simülatörde bunu denedim. Çalışmıyor. Ayrıca uygulamayı 3.1.2 çalıştıran bir iPod Touch'a da yükledim. Silmek için kaydır, içinde de çalışmaz. Çok kafa karıştırıcı. Bazı delege uygulamalarında eksik olup olmadığını merak ediyorum? – Nathan

0

Eğer tableView:editingStyleForRowAtIndexPath: yöntemini uygulamak ve ben tableView aşağıdaki yapıyordu UITableViewCellEditingStyleDelete

+0

Evet yaptım. Ancak bu konuya neden olan bir şey daha vardı. – Nathan

+0

Yukarıdaki cevabımı kontrol et. – Nathan

+0

size doğru kod parçasına bakabildiğim için memnun oldum .. Bunun gibi hata ayıklama sorunları genellikle zor –

4

dönmek var mı: editingStyleForRowAtIndexPath: temsilci yöntemiyle: - Bu eğer düzenleme tarzı hiçbiri dönmek gerekiyordu

if (self.editing == NO || !indexPath) 
{ 
    return UITableViewCellEditingStyleNone; 
} 

indexPath seçilmedi. Bir kaydırma eylemi gerçekleştirildiğinde, bir sebepten dolayı, bu durum koşulu yerine getirdiyse. Yukarıdaki kod snippet'inin yorumlanması üzerine, eylemi silmek için hızlıca kaydırın.

Yardımlarınız için hepinize teşekkür ederiz.

4

Sen uygulamak gerekir: Eğer gitmek için iyi olmalı bu üç şeylerle

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath; 


- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath; 

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath; 

. .

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath; 

Ve yerine "UITableViewDelegate" nin içeride "UITableViewDataSource" koymak unutmayın: (Ben commitEditingStyle kapalı cevapsız ve asla çalıştı

+1

Bu 3 delege yöntemlerini verdim ama çalışmadım. –

1

anahtar çalışmasını sağlayan uygulamaktır

-2

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath temsilci yöntemi aynı zamanda tokatlamak işlevselliğini çalışmak uygulamak gerekir.

4

tüm diğer öneriler yaparsanız kodunuzda pan jest tanıyıcı olup olmadığını kontrol etmeye çalışmayın. Bazı alttan görünümde böyle şeyler varsa işe yaramaz.

+0

Aynı sorunu vardı, ama UITapGesture –

+0

ile oldu Sen bir dahisin! Birkaç ay boyunca sürgü kaydırmak için zor bir sorun vardı ve şimdi bir tableviewCell ile sorun vardı ve sorun benim kullandığım bir çerçevede bir pan jest tanıyıcı oldu. –

İlgili konular