【问题标题】:Add SubView directly from UIButton action without having to call a Method直接从 UIButton 操作添加 SubView 而无需调用方法
【发布时间】:2014-12-03 20:10:08
【问题描述】:

有什么办法可以做到,所以当按下 UIButton 时,它会在一行代码中添加一个子视图,即 init 是操作。无需调用 @selector 方法,然后调用该方法并且该方法添加子视图。

例如我尝试了以下两种尝试:

[theButton addTarget:self.view action:@selector(addSubview:theView) forControlEvents:UIControlEventTouchUpInside];

[theButton addTarget:self.view action:@selector(addSubview:) withObjects:theView forControlEvents:UIControlEventTouchUpInside];

但都失败了。

————

是我唯一的选择是调用一个方法然后添加视图,即

[theButton addTarget:self action:@selector(addTheSubview) forControlEvents:UIControlEventTouchUpInside];


-(void)addTheSubview {
    [self.view addSubview:theSubview];
}

也许有一种方法可以通过在 UIButton 的addTarget 代码中使用块语句来实现这一点? (我对块语句知之甚少)。

【问题讨论】:

    标签: ios objective-c uibutton selector objective-c-blocks


    【解决方案1】:

    你问:

    有什么办法可以做到,所以当按下 UIButton 时,它会添加一个 子视图只是在初始化操作的一行代码中。没有 必须调用 @selector 方法,然后调用该方法和 方法添加一个子视图。

    一句话,没有。

    你是“tilting at windmills”。

    您需要您的按钮来调用IBAction 方法,该方法又运行几行显示视图的代码。您可以做的最好的事情是在表单中安装您的视图,但将其隐藏,然后在您的 IBAction 中,您可以使用一行代码设置view.hidden = NO,但您仍然需要调用实际的 IBAction 方法。

    按钮只能调用不带参数的方法,将按钮(发送者)作为参数,或将按钮和触发它的 UIEvent 作为 2 个参数。您不能让按钮的操作将任意视图作为参数。那样不行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多