Frage

Dies betrifft iPhoneOS-sdk-3.2

Ich habe Schwierigkeiten die Rahmenfarbe eines gruppierten UITableView zu verändern. Ich kann die Zelle Hintergrundfarbe ändern, Separator Farbe, Textfarbe, ganz einfach jetzt, und die abgerundeten Ecken richtig befestigen, selbst wenn sie mit hervorgehoben, was Farben ich gewählt habe. Doch die umgebende Grenze bleibt infuriatingly grau trotz vielen verschiedenen Versuchen.

Ich habe alle zugehörigen Beiträge lese ich über Google finden, geschweige denn Stackoverflow. Ich habe Mike Akers' heroische Lösung für UITableViewCell Clipping PITA gesehen - dieses Problem für iPhoneOS 3.0 gelöst und es hat mir nicht mit der Grenze helfen.

Ich habe beide versucht, eine programmatische und xib-basierte Lösung und beide liefern die gleichen Ergebnisse.

Ich werde die programmatische Version teilen unter:

Ich habe eine UIViewController Unterklasse eher als ein UITableViewController Unterklasse als UITableView Delegierten zu handeln - ich wählte diesen Weg, wie ich auf dem iPad bin Codierung und UITableViewController nehmen Berichten zufolge über den gesamten Bildschirm. Loadview-Methode meiner UIViewController Unterklasse:

- (void) loadView {
  self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
  [self.view release];
  self.view.backgroundColor = [UIColor blackColor];

  // add and configure UITableView                                                                                     
  CGRect tableViewRect = CGRectMake(0., 0., 256., 768.);

  myTableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStyleGrouped];

  // set the tableview delegate to this object and the datasource to the datasource which has already been set          
  myTableView.delegate = self;
  myTableView.dataSource = self;

  myTableView.sectionIndexMinimumDisplayRowCount = 1;

  myTableView.backgroundColor = [UIColor clearColor];
  myTableView.separatorColor = [UIColor whiteColor];
  myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

  myTableView.opaque = NO;

  // add the table view to our background view                                                                          
  [self.view addSubview:myTableView];
  [myTableView release];
}
War es hilfreich?

Lösung

ich eine Lösung gefunden. Dieses Verhalten scheint iPhoneOS 3.2 spezifisch zu sein, wie Apple eine backgroundView Eigenschaft für UITableView in iPhoneOS 3.2 hinzugefügt.

Ich habe versucht, [myTableView.backgroundView removeFromSuperView] und UITableView ersetzt es nur mit einem anderen.

Stattdessen war meine Lösung hinzuzufügen:

myTableView.backgroundView.hidden = YES;

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