2 Stimmen

Graue Trennlinie oben auf uitableviewcell

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).

Tableview mit Zellen

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];

2voto

BrFreek Punkte 240

Ich habe die Lösung für meine Frage gefunden. Indem ich eine UIView im HintergrundView der Zellenklasse setze und sie mit einer weißen Hintergrundfarbe fülle, wurde das Problem behoben.

self.backgroundView = [[UIView alloc] initWithFrame:CGRectZero]; self.backgroundView.backgroundColor = [UIColor whiteColor];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X