I want to change each cell background color in order.
This is my colors.And I just want to show them as shown in image.
I'm showing it with random colors now.But I want to show them in order.
var cellColors = ["F28044","F0A761","FEC362","F0BB4C","E3CB92","FEA375"]
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! GroupTableViewCell
let randomColor = Int(arc4random_uniform(UInt32(self.cellColors.count)))
cell.contentView.backgroundColor = UIColor(hexString: self.cellColors[randomColor])
}
Select the Tableview. Go to the Attributes Inspector. Set the Tableview Background Colour. Set the View Background Colour.
To remove any background colors, patterns, or fill effects from cells, just select the cells. Then click Home > arrow next to Fill Color, and then pick No Fill.
The UITableViewCell class allows developers to assign a custom background view using the “backgroundView:” method. To assign your own custom background image, we can create an UIImageView object with the background image and set it as the background view of the cell. Add the following code to the “cellForRowAtIndexPath:” method:
When you add a UITableViewController in the Story, by default, you should see an empty prototype cell. You can now add other UI control elements (e.g. UILabel, UIImageView) right into the prototype cell. Let’s first change the height of the cell. Select the Prototype Cells, click the “Size” inspector and change the row height from 44 to 71.
In the Xcode project, you should find three background images for table cell. The images are specially designed for different types of cells. The UITableViewCell class allows developers to assign a custom background view using the “backgroundView:” method.
By default, the table view is displayed in white. We set its color to transparent so as not to block out the background of the parent view. Before you run the app, we’d like to make one more change.
You need to delete this line
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! GroupTableViewCell
from your willDisplayCell
function, because it already have your cell in parameters, and you just overriding it with new cell, and your new cell will be never used.
If you want to show colors in order, then you can use indexPath
:
var cellColors = ["F28044","F0A761","FEC362","F0BB4C","E3CB92","FEA375"]
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.contentView.backgroundColor = UIColor(hexString: cellColors[indexPath.row % cellColors.count])
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With