我还在学习界面构建器。
我创建了一个包含按钮,进度条和微调器的xib。让我们调用这个xib MyToolbar.xib。我为该xib创建了类(MyToolbar.h和.m)。在xib中,我将工具栏的类设置为MyToolbar。在xib中我将File的Owner设置为MyToolbar。我将插座连接到所有元件并将它们放在标题上。
类标题为:
#import <UIKit/UIKit.h>
@interface MyToolbar : UIToolbar
@property (weak, nonatomic) IBOutlet UIButton *button;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *spinner;
@property (weak, nonatomic) IBOutlet UIProgressView *progressBar;
@end
这是实施
#import “MyToolbar.h"
@implementation MyToolbar
- (id)init {
self = [super init];
if (self) {
self = [[[NSBundle mainBundle] loadNibNamed:@"MyToolbar"
owner:self
options:nil]
objectAtIndex:0];
}
return self;
}
现在我在主类上创建对象
MyToolbar *toolbar = [[MyToolbar alloc] init];
此时,工具栏不是nil,但toolbar.button,toolbar.progessBar和toolbar.spinner都是零。
我知道除非你显示元素,否则不会实例化元素。
有没有办法让这项工作没有显示对象?
答案 0 :(得分:1)
您是否将视图连接到文件的所有者出口?尝试删除文件的所有者或连接,并将视图连接到MyToolbar.h出口。我试过了,它正在工作。