Это продолжение другого вопроса, касающегося того, почему я не могу установить UIControls в awakeFromNib. Ответ на этот вопрос заключается в том, что, как вы можете видеть ниже, элементы управления равны нулю в awakeFromNib
, хотя они инициализируются правильными объектами к тому времени, когда мы достигаем viewDidLoad
. Я настраиваю вид так же, как всегда, если я делаю что-то другое, чтобы получить к ним доступ, xib (nib) был разработан и сохранен в текущей версии Image Builder.
КОД:
@interface iPhone_TEST_AwakeFromNibViewController : UIViewController {
UILabel *myLabel;
UIImageView *myView;
}
@property(nonatomic, retain)IBOutlet UILabel *myLabel;
@property(nonatomic, retain)IBOutlet UIImageView *myView;
@end
.
@synthesize myLabel;
@synthesize myView;
-(void)awakeFromNib {
NSLog(@"awakeFromNib ...");
NSLog(@"myLabel: %@", [myLabel class]);
NSLog(@"myView : %@", [myView class]);
//[myLabel setText:@"AWAKE"];
[super awakeFromNib];
}
-(void)viewDidLoad {
NSLog(@"viewDidLoad ...");
NSLog(@"myLabel: %@", [myLabel class]);
NSLog(@"myView : %@", [myView class]);
//[myLabel setText:@"VIEW"];
[super viewDidLoad];
}
ВЫВОД:
awakeFromNib ...
myLabel: (null)
myView : (null)
viewDidLoad ...
myLabel: UILabel
myLabel: UIImageView
Очень ценится ...
* 1016 Гэри *