Ich frage mich, wie man die blaue Hervorhebungs-/Auswahlfarbe einer UITableViewCell
ändern kann, irgendwelche Ideen?
Antworten
Zu viele Anzeigen?Sie können die Hervorhebungsfarbe auf verschiedene Arten ändern.
-
Ändern Sie die selectionStyle-Eigenschaft Ihrer Zelle. Wenn Sie sie in
UITableViewCellSelectionStyleGray
ändern, wird sie grau sein. -
Ändern Sie die
selectedBackgroundView
-Eigenschaft. Tatsächlich ist es eine Ansicht, die den blauen Verlauf erstellt. Sie können eine Ansicht erstellen und alles zeichnen, was Sie möchten, und diese Ansicht als Hintergrund Ihrer Tabellenzellen verwenden.
Zonble hat bereits eine ausgezeichnete Antwort geliefert. Ich dachte, es könnte nützlich sein, einen kurzen Code-Schnipsel einzufügen, um ein UIView
zur TableView-Zelle hinzuzufügen, das als ausgewählte Hintergrundansicht angezeigt wird.
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
UIView *selectionColor = [[UIView alloc] init];
selectionColor.backgroundColor = [UIColor colorWithRed:(245/255.0) green:(245/255.0) blue:(245/255.0) alpha:1];
cell.selectedBackgroundView = selectionColor;
- cell ist mein
UITableViewCell
- Ich habe ein UIView erstellt und seine Hintergrundfarbe mit RGB-Farben (hellgrau) festgelegt
- Dann habe ich die Zelle
selectedBackgroundView
auf dasUIView
gesetzt, das ich mit meiner ausgewählten Hintergrundfarbe erstellt habe
Dies hat gut für mich funktioniert. Danke für den Tipp Zonble.
In Swift, verwenden Sie dies in cellForRowAtIndexPath
let selectedView = UIView()
selectedView.backgroundColor = .white
cell.selectedBackgroundView = selectedView
Wenn Sie möchten, dass Ihre Auswahlfarbe in jedem UITableViewCell
gleich ist, verwenden Sie dies in AppDelegate
.
let selectedView = UIView()
selectedView.backgroundColor = .white
UITableViewCell.appearance().selectedBackgroundView = selectedView
Wenn Sie es appweit ändern möchten, können Sie die Logik zu Ihrem App-Delegierten hinzufügen
class AppDelegate: UIResponder, UIApplicationDelegate {
//... abgeschnitten
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
// richten Sie Ihre Hintergrundfarbansicht ein
let colorView = UIView()
colorView.backgroundColor = UIColor.yellowColor()
// verwenden Sie UITableViewCell.appearance(), um
// das Standardaussehen aller UITableViewCells in Ihrer App zu konfigurieren
UITableViewCell.appearance().selectedBackgroundView = colorView
return true
}
//... abgeschnitten
}
- See previous answers
- Weitere Antworten anzeigen