Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to get rounded edges on UITableViewCell's in a manner that allows cell background color to be user selected? (but not using the GROUPED mode)

Is there a way to get rounded edges on UITableViewCell's in a manner that:

  1. allows cell background color to be user selected/customised at run time (cells may not all have the same background color)
  2. not using the UITableView "GROUPED" mode

So I'm assuming this means I can't use the normal image approach here to get rounded edges, as in this case it would not allow for requirement 1 above

like image 1000
Greg Avatar asked Oct 11 '11 02:10

Greg


1 Answers

Well, it sounds like you should give using CALayer a try. Since a UITableViewCell is a UIView subclass, you can manipulate its CALayer property.

So, first, make sure to #import <QuartzCore/QuartzCore.h>

Then do something like, for example,

[cell.layer setCornerRadius:7.0f];
[cell.layer setMasksToBounds:YES];
[cell.layer setBorderWidth:2.0f];

when you create the cell. (If you are trying to create an effect like in a grouped table, I suppose you will want to manipulate only the first and last cells.) This should give the cell rounded corners. By manipulating the CALayer, you might be able to create the effect you want.

Also, check out this answer for how to do this to only some of the corners.

like image 56
Matthew Gillingham Avatar answered Nov 03 '22 23:11

Matthew Gillingham