将选择器添加到UIButton

时间:2012-05-25 17:32:44

标签: iphone objective-c ipad uiview uibutton

我有ViewController,然后有两个不同的ViewControllers扩展了主ViewController,一个用于iPhone,另一个用于iPad。

iPad ViewController实例化一个单独的扩展UIView并将其设置为自己的视图。该视图有一些按钮,我想将其选择器方法添加为主ViewController中的一些方法。如何实现这一目标?

所以这是一种可视化的方法:

Main ViewController
| iPhone ViewController
| iPad ViewController
  | Some UIView Class    --> Button must invoke method in Main View Controller

修改 我根本不使用界面构建器。

2 个答案:

答案 0 :(得分:21)

您的问题有点令人困惑,但如果我理解,您可以使用这样的代码来设置按钮:

[button addTarget:yourObject action:@selector(yourMethod:) forControlEvents:UIControlEventTouchUpInside];

因此,您将 addTarget 设置为MainViewController的实例,并将操作设置为您要在MainViewController内调用的方法。只要您的方法接受IBAction

,您也应该能够在Interface Builder中执行此操作

答案 1 :(得分:2)

除非我误解了这个问题,否则就没有诀窍。

如果在主视图控制器中定义(IBAction)buttonPressed:(id)sender,它将由iPad视图控制器子类继承。因此,当iPad视图控制器设置其按钮时,将其指定为属于self的选择器应该可以正常工作。