Sto lavorando a un'applicazione in cui la maggior parte dell'interfaccia utente è configurata tramite uno storyboard in Xcode. Una cosa che voglio fare è specificare le immagini "Finite" per UITabBarItems su un TabBar piuttosto che le immagini "Stencil" predefinite a cui è possibile accedere tramite Interface Builder.Impostazione delle immagini TabBar finite quando si usano gli storyboard?
La mia domanda è dove è il posto migliore per farlo, attualmente lo sto facendo in awakeFromNib come deve essere fatto quando le cose non sono archiviate dallo storyboard, ma non sono sicuro se dovrei usare initWithCoder: invece, quale è la cosa migliore che conta?
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if(self) {
UIImage *tabIn = [UIImage imageNamed:@"TAB_IN"];
UIImage *tabOut = [UIImage imageNamed:@"TAB_OUT"];
UITabBarItem *tabBarItem = [self tabBarItem];
[tabBarItem setFinishedSelectedImage:tabOut withFinishedUnselectedImage:tabIn];
[tabBarItem setTitle:@"TWO"];
}
return self;
}
O
- (void)awakeFromNib {
[super awakeFromNib];
UIImage *tabIn = [UIImage imageNamed:@"TAB_IN"];
UIImage *tabOut = [UIImage imageNamed:@"TAB_OUT"];
UITabBarItem *tabBarItem = [self tabBarItem];
[tabBarItem setFinishedSelectedImage:tabOut withFinishedUnselectedImage:tabIn];
[tabBarItem setTitle:@"TWO"];
}
Sono consapevole che initWithCoder:
è chiamato all'inizio di oggetti disarchiviazione da naselli (contenuta nel storyboard) quando prese e le azioni non sono ancora agganciati. Capisco anche che awakeFromNib
viene chiamato alla fine del processo di annullamento dell'archiviazione e segnala che viewController è ora pronto per l'uso. La mia sensazione è che dipende solo da ciò che si vuole fare, anche se l'utilizzo di awakeFromNib
potrebbe rivelarsi meno problematico in quanto non si verificheranno problemi in cui punti vendita e azioni non sono ancora stati collegati.
EDIT:
Mi permetta di riformulare questo, quali situazioni usereste initWithCoder:
come apposto awakeFromNib
e viceversa?
Grazie Egor, molto apprezzato. – fuzzygoat