Вам необходимо загрузить его, используя метод -loadNibNamed
. -initWithNibName
только для контроллеров UIView.
Добавьте следующий код в метод инициализации MyCustomView:
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
UIView *mainView = [subviewArray objectAtIndex:0];
[self addSubview:mainView];
Помните, что если вы инициализируете объект из пера, он вызывает - (id)initWithCoder:(NSCoder *)aDecoder
для инициализации, поэтому вам придется его переопределить, если вы создаете объект MyCustomView внутри пера. Если вы просто делаете это с initWithFrame:
, просто переопределите это и добавьте код выше. Кроме того, в своем кончике убедитесь, что у вас есть один UIView верхнего уровня, и поместите все остальные элементы в него (это гарантирует, что ваш subviewArray имеет только одну запись).
Это загрузит виды из пера и добавит их к объекту, и должно сделать свое дело.