【问题标题】:How to trigger IBAction from UIButton in Storyboard static cell?如何从 Storyboard 静态单元格中的 UIButton 触发 IBAction?
【发布时间】:2013-07-18 02:39:21
【问题描述】:

我有一个带有UITableViewController 的情节提要。在这个控制器中,我有静态单元格,其中一个是UITableViewCell 的子类。在 IB 中,我向这个静态单元格添加了一个 UIButton,并将其连接到 UITableViewCell 子类中的一个 IBAction。但是,永远不会调用 IBAction。为什么这不起作用?如何在单元格内的按钮通过 IB 触发事件时实现所需的行为?

.h

#import <UIKit/UIKit.h>

@interface BSWorkoutsCell : UITableViewCell

@property (nonatomic, weak) IBOutlet UIButton *button;
@property (nonatomic, strong) IBOutletCollection(UIButton) NSArray *buttons;

- (IBAction)tapButton:(id)sender;
@end

.m

- (IBAction)tapButton:(id)sender{
    if (!_buttonsHidden){
        [self animateHideButtons:(UIButton *)sender];
        _buttonsHidden = YES;
    }
}

图片

【问题讨论】:

  • 发布将按钮连接到代码的代码以及应该调用 IBAction 的位置
  • @CaptJak 我通过 IB 进行连接。 TouchUpInside 事件连接到我的 - (IBAction)tapButton:(id)sender 方法。
  • 太棒了。请编辑您的问题并将这些方法复制粘贴到其中。你是什​​么意思“我通过IB做我的连接”。您是否在适当的 .h 文件中声明了属性?请发布声明属性的 .h 文件的内容以及触发 IBAction 的 .m 文件的内容。
  • @CaptJak 我希望编辑让它更清晰。
  • 不错!我现在明白了!那么,您在 IBAction 处设置了一个断点并且它不会触发?还是只是在您期望的时候什么都没有发生?你可以手动触发你的动画并且你知道你的动画有效吗?

标签: ios uibutton uitableview ibaction


【解决方案1】:

我意识到 UITableViewCell 在 IB 中未选中 User Interaction Enabled。这使得其中的任何子视图都没有交互性,因此实际上没有按下按钮,也没有调用 IBAction

选中该框后,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-05
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 2012-03-31
    相关资源
    最近更新 更多