创build自定义的UIButton类
我想知道做下面的最好方法,
- 创build许多button。
- 允许每个button被定制的stringID'ed。
我读到,也许inheritanceUIView可能工作,但是这个子类化UIButton将是不可能的。 另外,如果我要UIView的子类,然后用一个button填充框架,将添加到屏幕上的这50个会导致任何性能问题,显然graphics将与此有关。 但是有没有更简单的方法?
我发现子类化UItableviewcell非常容易,我只想快速提示或者简单的代码来告诉我如何类似于UIButton。
谢谢!
最好的方法是使用UIView
的tag
属性。 ( UIButton
是UIView
一个子类。) tag
只是一个整数,所以它非常适合循环等等。 不用说,它也适用于子类。
这个方法也出现在很多苹果的例子中。 这很方便,因为你不需要保留任何其他variables。 此外,还有非常实用的方法通过viewWithTag
访问button:
UIButton *button = (UIButton *)[theSuperView viewWithTag:i];
例如,我用这种方法实现了一个钢琴键盘。 编写一个标识每个键(或音高)的algorithm非常简单。
如果你真的想要UIButton
子类,那么你可以做到这一点。 但是,如果您调用+buttonWithType
来直接实例+buttonWithType
类而不是UIButton
,则可能会遇到问题。
如果你想要添加一个自定义的NSString
或其他对象来关联每个button,那么你可以使用关联引用来做到这一点。
你可以使用for
循环一次创build多个button,如果你不想立即将它们添加到子视图,可能需要NSArray
的帮助来保存button。
另一种方法是创build一个NSDictionary
,其中的对象是UIButton
,键是您想要标识每个button的NSString
。