Ich kämpfe seit den letzten paar Stunden damit und kann keine Lösung dafür finden... In einem UITableView füge ich eine Liste von benutzerdefinierten UITableViewCells mit jeweils einer anderen Farbe ein. Diese Farben sind Teil einer UIView, die als backgroundView der tableViewCell fungiert. Wenn ich das UITableView initialisiere, setze ich
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Dennoch gibt es auf jeder Zelle oben immer noch eine dünnen graue Linie. Diese Linie stammt nicht vom textLabel (dieses Label hat einen kleineren Rahmen als die tatsächliche Zelle) und auch nicht von der UIView, die die Farbe enthält (die layer.borderwidth = 0.0f und die Farbe ist clearColor).
EDIT
Okay, ich habe herausgefunden, dass die Linien tatsächlich von der UIView stammen, die die Hintergrundfarbe enthält. Wenn ich sie jedoch deaktiviere, führt das dazu, dass die Zellen transparent werden, wenn ich sie neu anordne. Dies ist das Ergebnis des drawRect in dieser UIView mit dem folgenden Code zum Zeichnen der UIView:
CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), true);
CGContextFillRect(UIGraphicsGetCurrentContext(), self.bounds);
Weiß jemand einen Weg, um das zu beheben?
GELÖST
Ziemlich dumm von mir, aber die Zellen hatten keine backgroundView... Also durch das Hinzufügen dieser zwei Zeilen in der benutzerdefinierten Zellenklasse wurde das Problem gelöst!
self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
self.backgroundView.backgroundColor = [UIColor whiteColor];