如何将功能或设计委托给其他UIViewController

时间:2012-10-12 09:05:22

标签: iphone objective-c ios

例如,我在所有视图控制器中都有两个相同的按钮。并且这些按钮的反应在所有视图控制器中都是相同的。如何在通用类中实现此功能并在每个视图控制器中使用此类或对象?

2 个答案:

答案 0 :(得分:1)

将按钮/动作添加到按钮时,可以将目标设置为特定类:

[button1 addTarget:myOtherClassInstance action:@selector(doSomethingAction:) forControlEvents:UIControlEventTouchUpInside];
[button2 addTarget:myOtherClassInstance action:@selector(doSomethingAction2:) forControlEvents:UIControlEventTouchUpInside];

和myOtherClass.m

- (void)doSomethingAction:(id)sender {
//Do something and maybe check the sender
}

- (void)doSomethingAction2:(id)sender {
//Do some other thing and maybe check the sender
}

答案 1 :(得分:1)

您可以将action方法放在委托类中,并将按钮点击事件链接到此方法

 [yourButton addTarget:yourDelegate action:@selector(yourmethod:) forControlEvents:UIControlEventTouchUpInside];