我想在一些表的附件视图中自定义图像,同时允许将表和indexPath传递给accessoryButtonTappedForRowWithIndexPath回调,包括单击的表。我曾经在这里报道过使用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。请帮忙。
答案 0 :(得分:0)
我通过预测表重新加载来恢复旧解决方案,如果按钮变得疯狂并开始将自己作为控制事件发送。