Ich habe ein iOS
Xcode 7.3 Projekt in Swift geschrieben 2. Ich habe ein UITableView
, die ein array
von Informationen des Typs enthält [String]
genannt details
. Wenn der Benutzer auf einen der UITableViewCells
klickt, können sie segues
zu einem anderen ViewController
, wo sie Notizen für den ausgewählten detail
eingeben können. Danach können sie segue
zurück zum UITableView
. Mein Ziel ist, wenn eine detail
in der UITableView
eine Notiz hat, die getippt wurde, dass backgroundColor
der Zelle gelb wäre.Swift 2 farbiger Hintergrund von UITableViewCell zu bestimmt indexPath.rows
Unten ist:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// Transfer details of selected cell to notes view
var selectedCell = details[indexPath.row]
detailsTransfer = selectedCell // Transfer detail information
detailLocation = indexPath.row // Transfer detail location in array
}
Dieser überträgt die details
und location
im array
für Erläuterungen zur detail
hinzufügen. Ich speichere dann den detailLocation
zu einem neuen array
vom Typ Int
. Ich denke, um die Farbänderung in der cell
background
zu bekommen, müsste ich durch die [Int]
Schleife und nur die cells
in der UITableView
würde eine backgroundColor
? Ich weiß nicht, ob das richtig ist und/oder wie/wohin dieser Code gehen würde. Vielleicht die Schleife in: tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
?? Kann mir bitte jemand helfen? Vielen Dank.
UPDATE
Mein cellForRowAtIndexPath
ist:
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
let cellIdentifier = "LogTableViewCell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! LogTableViewCell
cell.logLabel?.text = details[indexPath.row]
return cell
}
Immer noch versuchen indexPath.row
für Farbwechsel zu vergleichen.
Möchten Sie eine Zelle markieren, wenn diese ausgewählt ist, oder bestimmte Zellen je nach Status gelb machen? – Moshe
Bitte schreiben Sie Ihre CellForRowAtIndexPath-Funktion. – ryantxr