为UIView子类加载Nib的正确方法
我知道以前曾问过这个问题,但答案是矛盾的,我很困惑,所以请不要解雇我。 我希望UIView在我的整个应用程序中都有一个可重用的子类。我想用一个nib文件描述接口。 现在,我们说这是一个带有活动指示器的加载指示器视图。我想在某个事件上实例化此视图并为视图控制器的视图添加动画。我可以以编程方式描述视图的界面,以编程方式创建元素并在init方法中设置其框架等。 但是,如何使用笔尖呢?保持界面生成器中给定的大小,而无需设置框架。 我已经设法做到了,但是我确定这是错误的(只是一个带有选择器的视图): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } 但是我覆盖了自我,当我实例化它时: FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …