Frage

Ich habe subclassed UITableViewCell und einige Subviews über die layoutSubviews Methode einbezogen. Alle Ansichten werden zugeordnet und in den initWithStyle Verfahren eingeleitet, und die Rahmen werden in den layoutSubviews Verfahren eingestellt, etwa so:

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;

Zur Einstellung der shouldAutoRotateOrientation auf YES in dem Viewcontroller dreht die Navigation, Tableview und UIToolbar angemessen, aber der Inhalt des tableViewCells nicht bewegen. Ich bin mir nicht klar darüber, wo oder was so weit wie AutoResizingMasks hinzuzufügen. Die Kombinationen habe ich versucht, so weit habe nichts getan. Kann mir jemand eine Hand?

Danke!

War es hilfreich?

Lösung

Die Antwort, die ich habe kommen mit ist an die Bedingung zu verwenden Codierung Ort Ansicht Rahmen, abhängig von der Orientierung, in der layoutSubviews Methode

-(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;
    }
}

Scheint zusammen gehackt, aber es funktioniert in Unterklasse UITableViewCells

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top