SORU
7 Kasım 2010, Pazar


didSelectRowAtİndexPath verir yanlış İndexPath

Gerçekten şaşırtıcı bir hata ile karşılaşmadım.ilkUİTableView benim döndürür satır1veikincibir döner0bu indexPath! Bu nasıl mümkün olabilir?

Benim `-(void)viewDidLoad` her şey daha iyi olacak. Başarıyla ilk satır vurgulama benim

currentRow = 0;
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:currentRow inSection:0] 
  animated:NO scrollPosition:UITableViewScrollPositionNone];

Seçilen takibi için değişken currentRow (başka bir denetim değiştiren bir seçilmiş olduğuna göre) var.

Şimdi benim `didDeselectRowAtİndexPath` temsilci işlevi var:

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
...
NSLog(@"IndexPath: %@", [indexPath description]);
}

Günlüğüne şunları gösterir:

Ben dokunduğumda IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 0]. ben^>ikincisatır ve Ben dokunduğumda IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 1]. ben^>ilksatır.

Ekleme ya da silme işlemini hiçbir satır veya sıralama vardır, vb., kaydırma bile. Basit UİTableView, gruplandırılmış tarzı, 1 Bölüm ve 3 satır. Buna ne sebep oluyor olabilir?

Yardımlarınız için teşekkürler
S

CEVAP
7 Kasım 2010, Pazar


didDeselectRowAtIndexPath uygulanan. Satır olduğunda ateş olacakartık seçilmiş.

İkinci satır dokunduğunuzda, ilk satırartık seçilmişyani [0, 1] gösterilir.
İlk satır tekrar dokunduğunuzda, ikinci satırartık seçilmişyani [0, 0] gösterilir.

Bu tamamen bekleniyor.

Eğer bu satır olduğunda cevap vermek gerekirse didSelectRowAtIndexPath uygulamakseçili.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    //                                       ^
    ...

    NSLog(@"IndexPath: %@", [indexPath description]);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • Tina Chen

    Tina Chen

    26 Mayıs 2012