How to change background selected color storyboard static cells

前端 未结 3 998
眼角桃花
眼角桃花 2021-01-03 00:48

I have an app with storyboard. In one scene I have a tableview with statics cell content. Is possible to change the background selected color to another color out of the def

相关标签:
3条回答
  • 2021-01-03 01:22

    You don't need to write neither a single line of code to accomplish that. You can do it all using the storyboard. Just do that:

    1. Add a UIView to your UITableViewCell and link it to the selectedBackgroundView property of the cell (to find this property, you will need to drag the line from the "New Reference Outlet" and release it over the desired UITableViewCell)
    2. Change the color of the UIView to the desired color of the selected state

    You can do the same thing with the backgroundView property. Also, you can use a UIImageView to use a image, instead of the single color background of a UIView.

    Here is a sample file using a custom UIViewController instead of a UITableViewController, but it works on both: http://uxp.com.br/downloads/CustomCell.zip

    0 讨论(0)
  • 2021-01-03 01:40

    I had the same problem. The solution has two parts:

    1) getting the cells, look at this. 2) changing the background color: you must create a UIView with the background color you need and set it as the selectedBackgroundView of the cell

    For instance, I used this code in the viewDidLoad of the uitableviewcontroller:

    UIView *backgroundSelectedCell = [[UIView alloc] init];
    [backgroundSelectedCell setBackgroundColor:[UIColor colorWithRed:130/256.0 green:169/256.0 blue:171/256.0 alpha:1.0]];
    
    for (int section = 0; section < [self.tableView numberOfSections]; section++)
        for (int row = 0; row < [self.tableView numberOfRowsInSection:section]; row++)
        {
            NSIndexPath* cellPath = [NSIndexPath indexPathForRow:row inSection:section];
            UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:cellPath];
    
            [cell setSelectedBackgroundView:backgroundSelectedCell];
        }  
    
    0 讨论(0)
  • 2021-01-03 01:40

    Here is a solution for those of us using Auto-Layout on X-Code 5+...

    For the static cells, you can supposedly change the background color, but it won't work. Each individual cell, however, will automatically have a Content View inside it in IB. If we change the background of this Content View, it changes the cell background.

    Just something to add to @Leandro Alves' answer, so we don't have to drag extra UIViews onto our project!

    0 讨论(0)
提交回复
热议问题