Il ridimensionamento automatico sottoclasse UITableViewCell subviews
-
01-10-2019 - |
Domanda
Ho una sottoclasse UITableViewCell e comprendeva alcune subviews tramite il metodo layoutSubviews. Tutte le viste sono assegnati e avviate nel metodo initWithStyle, e le cornici sono impostati nel metodo layoutSubviews, in questo modo:
initWithStyle:... {
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectZero];
myLabel.someProperties = Configured;
[self.contentView addSubview:myLabel];
layoutSubviews {
CGRect labelRect = CGRectMake(10.0f, 5.0f, 35.0f, 180.0f);
myLabel.frame = labelRect;
Impostazione della shouldAutoRotateOrientation YES nei ruota viewController il navigationController, Tableview e UIToolbar appropriato ma i contenuti delle tableViewCells non si muovono. Io non sono chiare su dove o cosa aggiungere per quanto AutoResizingMasks. Le combinazioni che ho provato finora non hanno fatto nulla. Qualcuno può darmi una mano?
Grazie!
Soluzione
La risposta che è venuta in mente è quello di utilizzare la codifica condizionale al posto cornici vista, in funzione dell'orientamento, nel metodo layoutSubviews
-(void)layoutSubviews {
//For portrait mode (NOT PORTRAIT UPSIDE DOWN)
if ( UIDeviceOrientationIsPortrait([[UIDevice currentDevice]orientation]) ) {
CGRect portraitFrame = CGRectMake(Portrait Frame Coordinates);
myLabel.frame = portraitFrame;
} else {
//For landscape modes
CGRect landscapeFrame = CGRectMake(landscape frame coordinates);
myLabel.frame = landscapeFrame;
}
}
Sembra messo insieme ma funziona in sottoclasse UITableViewCells