0

テーブルと indexPath を、クリックされたテーブルを含む accessoriesButtonTappedForRowWithIndexPath コールバックに渡すことを許可しながら、いくつかのテーブルのアクセサリ ビューで画像をカスタマイズしたいと思います。ここで報告された UIControl+Blocks.h クラスを使用していました。

 @implementation UIControl (Blocks)
 - (void)addEventHandler:(ActionBlock)handler forControlEvents:  (UIControlEvents)controlEvents
{
    objc_setAssociatedObject(self, &UIButtonHandlerKey, handler, OBJC_ASSOCIATION_COPY_NONATOMIC);
   [self addTarget:self action:@selector(callActionHandler:event:)   forControlEvents:controlEvents];
}
- (void)callActionHandler:(id)sender event:(id)event
{
   ActionBlock handler = (ActionBlock)objc_getAssociatedObject(self, &UIButtonHandlerKey);
   if (handler) {
       handler(sender, event);
   }
}
@end

しかし、イベントの代わりにボタンを返すことがあるため、allTouchesを取得しようとするとアプリがクラッシュするため、奇妙な動作を開始したため、熱心に代替品を探しています。

オリジナルの(i)アクセサリーボタンも交換してみましたが、この方法だとaccessibilityLabelも無くなってしまいます。助けてください。

4

1 に答える 1