2014-12-03 3 views
0

Есть ли способ, которым я могу это сделать, когда нажимается UIButton, он добавляет subview только в одной строке кода, в которой инициируется действие init. Без вызова метода @selector, который затем вызывает этот метод, и этот метод добавляет subview.Добавить SubView непосредственно из действия 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]; 
} 

Возможно, есть способ сделать это без каких-либо метод, используя операторы блока в код addTarget UIButton? (Я мало знаю о блочных высказываниях).

ответ

1

Вы спросили:

Есть ли способ, что я могу сделать это так, когда UIButton нажимается добавляет подвид только в одной строке кода, INIT'S действие. Без , чтобы вызвать метод @selector, который затем вызывает этот метод, и метод добавляет subview.

Одним словом, нет.

Вы "tilting at windmills".

Вам нужна ваша кнопка для вызова метода IBAction, который, в свою очередь, запускает несколько строк кода, который отображает представление. О том, как лучше всего вы могли бы сделать, было бы установить ваше представление в форме, но сделать его скрытым, а затем в вашем IBAction вы можете использовать одну строку кода для установки view.hidden = NO, но вам все равно нужно вызвать фактический метод IBAction.

Кнопка может только когда-либо вызывать метод, который не принимает никаких параметров, принимает кнопку (отправитель) в качестве параметра или берет кнопку и UIEvent, которые запускают ее как 2 параметра. Вы не можете заставить действие кнопки принимать произвольное представление в качестве параметра. Это не работает.