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

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • gamingbits

    gamingbits

    2 Mayıs 2006