iOS,在多视图控制器上具有相同选择器的相同UIButton

时间:2012-10-29 10:05:22

标签: iphone ios uiviewcontroller storyboard selector

我是新手iOS开发人员,我目前正面临一个问题。 我不得不在多个View Controller上手动添加相同的UIButton。 现在,使用该按钮在每个View Controller中重复创建它的代码。 现在我必须对按钮调用的选择器进行编码(将调用一个操作表),但我不知道在每个控制器中重复代码是否是最好的事情。 有没有办法只写一次动作的代码并从每个视图控制器调用它?

谢谢

1 个答案:

答案 0 :(得分:3)

您可以创建UIButton子类,然后将其添加到每个视图。按钮行为和属性将存储在类中,这样您就不必重复它。

xcode中的

创建一个新文件并选择objective c class并将类名设置为MyButton或任何其他名称,并将子类设置为UIButton。

注意在子类中UIButton是self属性。因此,当您想要设置它的属性时,您应该使用self。例如:

self.tag = 1;
[self setImage:...];
//etc

然后在您查看控制器中,您可以像这样创建MyButton:

MyButton *button = [[MyButton alloc]initWithFrame:...];
[self addSubView:button];