theDuncs
theDuncs

Reputation: 4843

Letting big shadows bleed between UITableView cells

I've created a UITableViewCell with a textfield in it, which has a large diffused shadow underneath it. I've also set it up so that these big shadows can blend under its surrounding cells.

enter image description here

NB. Shadow has been HEAVILY emphasised here to show the problem.

The problem is that I want the shadow from my EMAIL textfield to blend underneath the password cell. i.e. I want both textfields to have a white background, but underneath them both I have the shadow. Something like this:

enter image description here

The reason this is a problem is because the UITableView is being rendered with upper cells "above" the lower ones. So any shadow from the cell at row 1 will bleed on top of the cells in rows 2, 3, 4 etc.

I was wondering if perhaps there is a way to change this rendering, and instead reverse the rendering so that a cell in row 4 is actually ABOVE rows 3, 2 and 1.

Or perhaps there is a way of setting the Password textfield so that no shadows are rendered on top of it?

Any help, very much appreciated!

Upvotes: 0

Views: 115

Answers (1)

theDuncs
theDuncs

Reputation: 4843

Thanks to @Amr for pointing me in the direction of the cell.layer.zPosition.

The higher the value this is, the "closer" to the viewer the layer sits, so as long as each row has a higher value, it will appear "above" the shadows from any cells around it.

Since I use multiple sections in my code, I used this line to assign each cell above the previous one.

cell.layer.zPosition = CGFloat(indexPath.section) * 1000 + CGFloat(indexPath.row)

Upvotes: 1

Related Questions