2009-05-01 6 views
1

Ich baue ein UITableView programmgesteuert ohne NIB-Dateien hier. Ich mache aber etwas albernes, da meine navigationBar genauso gut aussieht wie mein UITableView. Das UITableView passt jedoch nicht ordnungsgemäß auf dem Bildschirm. Sie sehen etwa 20 Pixel zwischen der UINavigationBar und der UITableView. Ich setze mein Fenster des Backgroundcolor auf schwarz, wie Sie in diesem Screenshot sehen kann:Warum belegt mein UITableView nicht die Grenzen des Bildschirms?

enter image description here

Hier ist der Code ist, das Problem zu reproduzieren: Grenzen

- (void)loadView 
{ 
    [super loadView]; 
    // TableViews that wish to utilize tableView footers/headers should override this method. 

    UITableView *aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain]; 
    aTableView.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight); 
    aTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; 

    aTableView.delegate = self; 
    aTableView.dataSource = dataSource; 

    self.tableView = aTableView; 
    [self.view addSubview:self.tableView]; 
    [aTableView release]; 

    // style navigation bar. 
    //self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque; 
}  

Antwort

1

Verwendung anstelle von Application

+0

That habe es getan, aber ich würde es gerne weiter verstehen. Ich dachte, dass ApplicationFrame das Fenster ist, das den Bildschirm besetzt, minus der navigationBar? – Coocoo4Cocoa

+0

Das Problem ist der Ursprung, aTableView verwendet self.view als Ursprung, also sollten Sie [self.view bounds] verwenden – CiNN

Verwandte Themen