Sil düğmesi gösterilmeden animasyonlu hücreyi silmek için bir tablo görünümü hücresinde sola veya sağa kaydırmak istiyorum. Bunu nasıl yapabilirim? Bu kodu projenize eklemek içinSilme olmadan hücreyi silmek için UITableViewCell'in herhangi bir yerinde sola veya sağa kaydırın?
Silme olmadan hücreyi silmek için UITableViewCell'in herhangi bir yerinde sola veya sağa kaydırın?
cevap
Bunu denemedim ve uygulamam ama bir çekim yapacağım. Birincisi, özel bir UITableViewCell oluşturmak ve bunu, ona kullanılıyor tableView için
- Bir referans kullanabilirsiniz 2 özelliklere sahip olsun.
- Bir indexPath tableView hücreyi bulmak için. (Not, Bu, tüm hücreler için bir hücreyi sildiğiniz her seferinde güncellenmelidir.
Özel hücreyi oluşturduğunuz cellForRowAtIndexPath:
, bu özellikleri ayarlayın. Ayrıca
cell.tableView=tableView;
cell.indexPath=indexPath;
UISwipeGestureRecognizer *swipeGestureRecognizer=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(deleteCell:)];
[cell addGestureRecognizer:swipeGestureRecognizer];
[swipeGestureRecognizer release];
hareket sadece yatay defa hızlıca kaydırarak aldığı emin olun hücreye bir UISwipeGestureRecognizer ekleyin. @MadhavanRP tarafından gönderildi sizin deleteCell:
-(void) deleteCell:(UIGestureRecognizer*)gestureRec
{
UIGestureRecognizer *swipeGestureRecognizer=(UISwipeGestureRecognizer*)gestureRec;
CustomCell *cell=[swipeGestureRecognizer view];
UITableView *tableView=cell.tableView;
NSIndexPath *indexPath=cell.indexPath;
//you can now use these two to perform delete operation
}
Hücreye eklemek için ilk başlatırken, hareket algılayıcısının yönünü ayarlamanız gerektiğini unutmayın. Böyle bir şey: swipeGestureRecognizer.direction = UISwipeGestureRecognizerDirectionRight; – ColossalChris
Apple, '(void) cancelPreviousPerformRequestsWithTarget: (id) aTarget seçici: (SEL) aSelector' sağlamadığınız için sizi lanetliyor. –
.
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return YES if you want the specified item to be editable.
return YES;
}
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//add code here for when you hit delete
}
}
Else mor bilgi u enter link description here
Vivek2012 ve iWill - Yanıtlarınız için teşekkürler, ancak DELETE düğmesini göstermek istemiyorum, stackoverflow'taki yanıtlar zaten var. Hücrenin, hızlıca sola veya sağa doğru hareket ettirdiği anda silinmesini istiyorum.lütfen açıklamamı okuyun – carbonr
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;
bu iki yöntemleri uygulamak yapmak bu bağlantı üzerinden gidebilir
- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;
hepsi bu.
çözümde
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if([[gestureRecognizer view] isKindOfClass:[UITableViewCell class]]&&
((UISwipeGestureRecognizer*)gestureRecognizer.direction==UISwipeGestureRecognizerDirectionLeft
||(UISwipeGestureRecognizer*)gestureRecognizer.direction==UISwipeGestureRecognizerDirectionRight)) return YES;
}
çalışır, ancak olması gerekenden daha karmaşıktır. Daha basit bir yaklaşım benimseyebilir ve masadaki tüm swipes'ları işleyen bir tane jest tanıyıcı oluşturabilir ve daha sonra kullanıcının hangi hücreyi geçirdiğini belirlemek için kaydırmanın yerini alabilirsiniz. ayarlamak için
jest tanıyıcı:
- (void)setUpLeftSwipe {
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
action:@selector(swipeLeft:)];
[recognizer setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.tableView addGestureRecognizer:recognizer];
recognizer.delegate = self;
}
Çağrı tokatlamak işlemek için viewDidLoad
bu yöntem:
- (void)swipeLeft:(UISwipeGestureRecognizer *)gestureRecognizer {
CGPoint location = [gestureRecognizer locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
... do something with cell now that i have the indexpath, maybe save the world? ...
}
not: sizin vc jest tanıyıcı temsilci uygulamalıdır .
- 1. jQuery: Sola kaydırın ve sağa kaydırın
- 2. iOS: Sekmeler arasında sola/sağa kaydırın Mümkün mü?
- 3. Android - sola kaydırın | sağa. jest algılama
- 4. Android libgdx hareket dinleyiciyi kullanarak sola ve sağa kaydırarak kaydırın
- 5. android listeyi silmek için hızlıca kaydırın
- 6. Tasarıma etki etmeden bir div sağa kaydırın
- 7. Sağa sola doğru bir şamandıra yazdırın
- 8. Sağdaki UICollectionView öğesinde bir hücreyi sağa doğru sabitleyin
- 9. slayt resmi soldan sağa
- 10. Görünüm sınırlarına göre Cesium Map'de sola veya sağa döndürme
- 11. UIGestureRecognizer'ı sağdan sola kaydırmak için soldan sağa doğru görünümlerim
- 12. Etiket konumu sağa sabitlenmeli ve sola dönülmelidir
- 13. iPhone'da sola/sağa kaydırma nasıl algılanır?
- 14. css3 slayt aşağı kaydırın
- 15. Sağa/sola kaydırmada dikey kaydırma nasıl engellenir
- 16. Masaüstünde silmek için kaydırınSayfa içinde bulunan bir görünümüGörüntüleme
- 17. Olayı kapatmak için hızlıca kaydırın
- 18. Antlr4 - sağ yerine sola soldan sağa için ayrıştırmak
- 19. Rasgele dizeyle string.format (padleft veya padright değil) ile sağa veya sola kaydırma
- 20. Sol hareketleri UITextField üzerinden kaydırın
- 21. Silmek için neden GenericForeignKey kaskadlamıyor?
- 22. Bir düğmeyi nasıl sola veya sağa hareket ettirmek Android'de programlı olarak
- 23. Basit bir kod sağa ve sola kaydırmak için basit bir kod kullanarak bir sayfaya dönüp
- 24. Referanslar için Cascade Silme veya Silme için Seçenek
- 25. iPhone simülatör doğru çalışmaları hızlıca kaydırın, ancak sola kaydırmayın değil mi?
- 26. FOREIGN KEY kısıtlaması, döngülere veya çoklu kaskat yollarına neden olabilir. Herhangi bir eylemi silme
- 27. Herhangi bir standart silme functor var mı?
- 28. Sayısal girişi sağa ve metin girişini sola nasıl hizalarım?
- 29. Açılı önyükleme özsütlemede sola ve sağa kaydırmayı devre dışı bırakma
- 30. Bir kaynağı silmek için form oluşturma
Eğer kodunuzu gönderebilirsiniz? –