SORU
15 Mayıs 2009, Cuma


Bir UİTableViewCell'In accessoryView için özel bir resim kullanarak ve UİTableViewDelegate karşılık sahip

Bir özel çizilmiş UİTableViewCell, accessoryView. hücre için aynı olmak üzere kullanıyorum. Bu accessoryView için benim kurulum bu gibi: bir arada olur

UIImage *accessoryImage = [UIImage imageNamed:@"accessoryDisclosure.png"];
UIImageView *accImageView = [[UIImageView alloc] initWithImage:accessoryImage];
accImageView.userInteractionEnabled = YES;
[accImageView setFrame:CGRectMake(0, 0, 28.0, 28.0)];
self.accessoryView = accImageView;
[accImageView release];

Ayrıca hücre initWithFrame:reuseIdentifier: kullanarak başlatıldığında aşağıdaki özelliği garantiye aldım:

self.userInteractionEnabled = YES;

Benim UİTableViewDelegate ne yazık ki, tableView:accessoryButtonTappedForRowWithIndexPath: benim yöntem (10 kez tekrarlamaya çalışın) tetiklenen almıyor. Temsilci kesinlikle düzgün bir şekilde ayarlandı.

Muhtemelen eksik ne olabilir?

Teşekkürler.

CEVAP
15 Mayıs 2009, Cuma


Ne yazık ki bu yöntem iç düğme türü, önceden tanımlanmış türlerinden birini kullandığınızda sağlanan dinleniyor sürece aradı almaz. Kullanın kendi Zorundasınız oluşturun aksesuar olarak bir düğme veya diğer alt UİControl (önerebilirim bir düğmeyi kullanarak -buttonWithType:UIButtonTypeCustom ve ayar düğmesi görüntü yerine kullanarak bir UİİmageView).

Burada bazı şeyler hiç kullanımda Karakol, hangi özelleştirir yeterli standart widget (sadece biraz, maç bizim teal boyama) ben yara yapıyor benim kendi UİTableViewController aracı alt tutmak yardımcı program kodu ve diğer tüm Tablo görünümleri için kullanın (onlar şimdi alt OPTableViewController).

Öncelikle, bu işlevi, yeni ayrıntılı bir açıklama düğme bizim özel kullanarak grafik:

- (UIButton *) makeDetailDisclosureButton
{
    UIButton * button = [UIButton outpostDetailDisclosureButton];

[button addTarget: self
               action: @selector(accessoryButtonTapped:withEvent:)
     forControlEvents: UIControlEventTouchUpInside];

    return ( button );
}

Sonra düğme aksesuar düğme: standart UİTableViewDelegate rutin besleyen bittiğinde bu rutin çağırır

- (void) accessoryButtonTapped: (UIControl *) button withEvent: (UIEvent *) event
{
    NSIndexPath * indexPath = [self.tableView indexPathForRowAtPoint: [[[event touchesForView: button] anyObject] locationInView: self.tableView]];
    if ( indexPath == nil )
        return;

    [self.tableView.delegate tableView: self.tableView accessoryButtonTappedForRowWithIndexPath: indexPath];
}

Bu işlev, olaydan bir düğmeye basın tarafından sağlanan tablo görünümünde yer alma ve bu noktada satır dizin yolu için tablo görünümü sorarak satırı bulur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • PUSHER

    PUSHER

    11 HAZİRAN 2014
  • thepoke64738

    thepoke64738

    17 HAZİRAN 2011
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007