2014-12-03 45 views
0

有没有什么办法可以使它在按下UIButton时,它只是在init行为的一行代码中添加子视图。无需调用@selector方法,然后调用该方法,该方法添加一个子视图。直接从UIButton动作添加子视图,无需调用方法

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

[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? (我对块语句知之甚少)。

回答

1

你问:

有没有什么办法可以使它所以当按下一个UIButton它增加了一个 子视图正好在一行代码是init的动作。没有 不得不调用@selector方法,然后调用该方法,并且该方法添加子视图。

总之,没有。

你是“tilting at windmills”。

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

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

相关问题