我有一个使用自定义UITableViewCell的UITableViewController。单元格包含图像,标签和按钮。除按钮外,其他所有功能均按预期工作。当按下按钮时,什么也没有发生。只有单元格被选中。
我在IB中从按钮建立了到我的自定义TweetTableViewCell类的连接。
@property (weak, nonatomic) IBOutlet UIButton *cellFollowButton;
- (IBAction)followButtonTappedonCell:(id)sender;
我在我的followButtonTappedonCell操作中向控制台写入一些文本。但是当按下按钮时,什么也没有发生。在我看来,某些视图在到达按钮之前先消耗掉了水龙头。为了使它更加混乱...当我在UITableViewController中添加一个按钮时,以编程方式如下所示:
[cell.cellFollowButton addTarget:self action:@selector(customActionPressed) forControlEvents:UIControlEventTouchDown];
[cell addSubview:cell.cellFollowButton];
...就可以了。我在其他文章中读到,禁用“已启用用户交互”可以解决类似的问题,但就我而言并非如此。我确定在UITableViewCells中使用按钮时,肯定还有很多其他问题。任何帮助都将受到高度赞赏。
我正在使用适用于iOS 7的Xcode 5。
我建议您通过此链接。它对您的问题有清晰的描述。但是,我尝试提取所需的信息。
许多类型的事件都依赖响应者链来进行事件传递。响应者链是一系列链接的响应者对象。它以第一个响应者开始,以应用程序对象结束。如果第一个响应者无法处理事件,则将事件转发给响应者链中的下一个响应者。
响应者对象是可以响应和处理事件的对象。UIResponder类是所有响应者对象的基类,并且它不仅定义了编程接口以用于事件处理,还定义了常见的响应者行为。UIApplication,UIViewController和UIView类的实例是响应者,这意味着所有视图和大多数关键控制器对象都是响应者。
在您的案例中,当您在customTableViewCell类中编写事件方法时,不会调用您的方法。这是因为TableViewCell没有参与Responder链。
接下来的事情是,检查您的单元是否“启用了用户交互”。您可以在“属性检查器”的“视图”部分下找到它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句