0

我想在某些表的附件视图中自定义图像,同时允许将表和 indexPath 传递给包括单击的表在内的附件ButtonTappedForRowWithIndexPath 回调。我曾经在这里使用 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) 附件按钮,但这样我也失去了可访问性标签。请帮忙。

4

1 回答 1

0

我通过预见在按钮变得疯狂并开始将自己作为控制事件发送自己的情况下重新加载表来恢复旧的解决方案。

于 2015-08-04T11:04:17.137 回答