我正在尝试创建一个自定义的“警报视图”,没什么特别的,我只想在当前视图之上显示一个视图,就像 UIAlertView 一样。
现在问题来了...我在 nib 文件中创建了视图,现在我想在需要显示警报时分配/初始化视图。有人可以帮我吗?
这是我初始化视图的尝试……截至目前,当我分配/初始化一个新的警报视图时,这会使我的应用程序崩溃。
该应用程序通过告诉我视图不符合插座的键值来崩溃。我肯定有插座正确连接,除非我有一个“文件所有者”的事情搞砸了。
NSObject 0x14e49800> setValue:forUndefinedKey:]: 这个类不是键值编码兼容的键......
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self load];
}
return self;
}
- (void)load {
NSArray *views = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil];
[self addSubview:[views firstObject]];
}
- (void)awakeFromNib {
[super awakeFromNib];
}
- (id)initWithFrame:(CGRect)frame
{
self = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil][0];
if (self) {
[self addSubview:self.contentView];
self.frame = frame;
}
return self;
}
- (instancetype)initWithTitle:(NSString *)title
message:(NSString *)message
delegate:(id)delegate
cancelButtonTitle:(NSString *)cancelButtonTitle
confirmButtonTitle:(NSString *)confirmButtonTitle {
self = [self initWithFrame:CGRectMake(0, 0, 320, 568)];
if (self) {
}
return self;
}
我做了这个方法来呈现视图,只是一个简单的 addSubview ...
- (void)showInView:(UIView *)view {
[view addSubview:self];
}