2013-03-28 6 views
1

Я пишу свой собственный пользовательский элемент управления, который реализован через UIView.AddTarget to UIView

И когда я инициализировать его, я хотел бы добавить пользовательскую цель это так:

[myControl addTarget:self action:@selector(turnOn) forControlEvents:UIControlEventValueChanged]; 

Я делаю это так, когда я что-то изменить в моем UIView, это вызвало бы такого рода метода в его родительский контроль. Я знаю, что для таких целей есть делегат , но мне было интересно, можно ли обойтись без него.

Как вы это делаете в Objective-C? Заранее спасибо!

ответ

1

Если вместо этого подкласса UIContol вы можете вызвать

- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents 

из вашего подкласса, и это будет вызывать действие

+0

Это отличная идея, но я на самом деле нужно контролировать весь 'view' из это и его 'frame', возможно ли это с помощью' UIControl'? –

+0

'UIControl' сам по себе является подклассом' UIView', поэтому все, что вы можете сделать с 'UIView', вы можете сделать с помощью' UIControl', но вы получаете дополнительное преимущество от возможности отправлять события для событий. –

+0

Amazing! Большое спасибо за вашу помощь! –

Смежные вопросы