我有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
修改 我根本不使用界面构建器。
答案 0 :(得分:21)
您的问题有点令人困惑,但如果我理解,您可以使用这样的代码来设置按钮:
[button addTarget:yourObject action:@selector(yourMethod:) forControlEvents:UIControlEventTouchUpInside];
因此,您将 addTarget 设置为MainViewController
的实例,并将操作设置为您要在MainViewController
内调用的方法。只要您的方法接受IBAction
。
答案 1 :(得分:2)
除非我误解了这个问题,否则就没有诀窍。
如果在主视图控制器中定义(IBAction)buttonPressed:(id)sender
,它将由iPad视图控制器子类继承。因此,当iPad视图控制器设置其按钮时,将其指定为属于self
的选择器应该可以正常工作。