У меня есть пользовательский подкласс UIView, который добавляет subview программно во время инициализации. Я хочу, чтобы этот subview был такой же ширины, как пользовательский UIView.
Мой код отлично работает, если я программно добавляю пользовательский UIView. Однако, когда UIView инициализируется через StoryBoard, я не могу получить пользовательскую ширину UIView.
// Init programatically
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSLog (@"view: %f", self.frame.size.width); //WILL return width
NSLog (@"view: %f", self.bounds.size.width); //WILL return width
}
return self;
}
// Init from storyboard
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
NSLog (@"view: %f", self.frame.size.width); //Returns 0
NSLog (@"view: %f", self.bounds.size.width); //Returns 0
}
return self;
}
Когда initWithCoder: запускается StoryBoard, кадр и границы UIView возвращаются как 0. Есть ли способ доступа к размерам UIView в initWithCoder? Или, по крайней мере, получить доступ к размерам до вызова drawRect:?
Спасибо.