我有一个加载Nib的子类UIButton:
@implementation BlaButtonVC
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSArray *subViews = [[NSBundle mainBundle] loadNibNamed:@"BlaButton" owner:self options:nil];
[self addSubview:subViews[0]];
}
return self;
}
@end
我可以将此按钮添加到视图中,如下所示:
// ViewController.m
BlaButtonVC *button = [[BlaButtonVC alloc] initWithFrame:CGRectMake(10, 10, 280, 44)];
button.titleXLabel.text = @"Nyuff";
button.descLabel.text = @"Kukk";
[self.view addSubview:button];
我的问题是我不知道如何从Interface Bulder这样做,如何使用这个UIButton子类而不是正常的子类。
已将Button Type更改为Custom,将Custom Class更改为BlaButtonVC,但这还不够。它将调用BlaButtonVC initWithFrame,但按钮不会出现在Interface Builder中,也不会出现在模拟器中。
我错过了什么?
在这里您可以找到完整的样本:
https://www.dropbox.com/s/ioucpb6jn6nr0hs/blabla1.zip
答案 0 :(得分:6)
从StoryBoard
初始化时,它会调用方法initWithCoder:
而不是initWithFrame:
。除此之外,一切都是正确的。
答案 1 :(得分:0)
在Interface Builder中,您无法将子视图添加到UIButton
,因此这里有一些想法:
UITableView
(这看起来就像你想要实现的那样)。UIView
与UITapGestureRecognizer
一起使用。