Falsche Größe der UITableView mit autoresizingMask

Ich habe eine UITableView, die nicht in der Größe verändert richtig mit autoresizeMask (iPhone 3.0).

Der UITableView ist in einem UIViewController innerhalb eines UINavigationController innerhalb eines UITabBarController, die alle erstellt werden, programmgesteuert. Die Statusleiste sichtbar ist.

Den code von der UIViewController ist im Grunde:

- (void)loadView {
    UIView* rootView = [[UIView alloc] init];
    self.view = rootView;
    [rootView release]; 
}

- (void)viewDidLoad {
    [super viewDidLoad];

    //table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480-20-49-44)];
    table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; table.autoresizingMask = UIViewAutoresizingFlexibleHeight;
    [self.view addSubview:table];
}

Sein, wenn Sie wie dieser, der UITableView ist etwas größer als der verfügbare Platz. Wenn ich mich nicht Irre, ist es genau 44 Pixel größer, die Größe der Navigationsleiste.

Allerdings, wenn ich kommentieren Sie die auskommentierte Zeile und kommentieren Sie die nächste Zeile die Größe der UITableView ist genau richtig. Ich würde es vorziehen, zu verwenden autoresizingMask anstatt manuell die Berechnung der Größe der UITableView. Was mache ich falsch?

Vielen Dank im Voraus!

InformationsquelleAutor hpique | 2009-12-15

Schreibe einen Kommentar