Niestandardowy UIView z końcówki wewnątrz innej końcówki UIViewController - IBOutlets są zerowe
Próbuję utworzyć niestandardowy widok UIView, który zawiera odwołania do własnego IBOutlets. Następnie chcę umieścić ten niestandardowy UIView w innym stalówce.
Robię dodatkową logikę w niestandardowym widoku UIViewawakeFromNib
metoda. Niestety, gdy próbuję uzyskać dostęp doIBOutlets
wawakeFromNib
, są zerowe.
Oto konfiguracja:
mamUIView
podklasa,CustomView
.Mam zwyczaj.xib
plik z trzema widokamiW drugiej końcówce (należącej do kontrolera widoku) przeciągnąłem aUIView
na widok, a następnie zmienił klasę niestandardową naCustomView
.Próbowałem ustawić widok wCustomView
stalówka w IB do klasy niestandardowejCustomView
i łączenieIBOutlets
do widzenia, ale nadal były zerowe.Próbowałem ustawić właściciela pliku naCustomView
i łączenieIBOutlets
do właściciela pliku, ale nadal były zerowe.Próbowałem też użyć innegoIBOutlet UIView *view
a następnie dodanie tego jako widoku podrzędnegoself
wawakeFromNib
ale to też nic nie zrobiło.Oto kod:
// CustomView.h
@interface CustomView : UIView
@property (nonatomic, retain) IBOutlet UITextField *textField;
@property (nonatomic, retain) IBOutlet UIView *subview1;
@property (nonatomic, retain) IBOutlet UIView *subview2;
// CustomView.m
@implementation CustomView
@synthesize textField, subview1, subview2;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
}
return self;
}
- (void)awakeFromNib {
[super awakeFromNib];
[self setup];
}
- (void)setup {
// Fails because self.textField is nil
self.textField.text = @"foo";
}