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!

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top