我正在尝试创建一个自定义Picker视图,将touchupinside事件连接到我的PickerViewViewController.h类作为函数
- (IBAction)Done:(id)sender;
在.m
中添加了功能- (IBAction)Done:(id)sender {
NSLog(@"Done");
}
将视图添加到我的主视图中
PickerViewViewController *pic=[self.storyboard instantiateViewControllerWithIdentifier:@"Pickerview"];
[self.view addSubview:pic.view];
但是当我点击完成按钮它崩溃了,我在轻松使用XIB之前完成了它,帮助?
答案 0 :(得分:1)
首先尝试将您的功能重命名为
- (IBAction)doneButtonPressed:(id)sender
系统可以为某些事情保留完成(不确定,但之前发生在我身上)
你可以放弃故事板......并使用.xib :)创建一个普通的ViewController。实际上不需要ViewController。只需将UIView和.xib链接到您的UIView即可。
要将.xib附加到UIView,您可以使用:
+ (CustomViewName *)getNewCustomView {
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"CustomViewName" owner:nil options:nil];
for (NSObject *obj in xib) {
if ([obj isKindOfClass:[CustomViewName class]]) {
return (CustomViewName *)obj;
}
}
return nil;
}
并将其简化为:
CustomViewName *customView = [CustomViewName getNewCustomView];
customView.frame = CGRectMake(...);
self.view addSubview:customView;
同样在您的.xib文件中,您必须设置您的类的名称...但是在VIew上没有像文件所有者那样: