改变在iOS6中分组的uitableview的圆angular半径
我试过使用下面的代码,但没有运气。 有人知道如何在iOS 6中做到这一点? 我不想创build一个自定义单元格。
self.tableView.layer.cornerRadius = 5.0f; [self.tableView setClipsToBounds:YES];
编辑:
看来,实际发生的事情是这个代码是为整个视图创build一个angular半径,而不是每个单独的UITableViewSection。 这有道理吗?
我也试过[cell.layer setCornerRadius:3.0];
但也没有运气。 我的UITableView的angular落仍然是完全一样的。
您可以更改TableViewCell的de backgroundView,创buildUIView的子类并更改图层类:
@interface BackgroundView : UIView @end @implementation BackgroundView + (Class)layerClass { return [CAShapeLayer class]; } @end
稍后在cellForRowAtIndexPath你做这样的事情:
static NSString *CellIdentifier = @"CustomCell"; CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; CGRect frame = cell.backgroundView.frame; cell.backgroundView = [[BackgroundView alloc] initWithFrame:frame]; CGFloat corner = 20.0f; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:cell.backgroundView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(corner, corner)]; CAShapeLayer *shapeLayer = (CAShapeLayer *)cell.backgroundView.layer; shapeLayer.path = path.CGPath; shapeLayer.fillColor = cell.textLabel.backgroundColor.CGColor; shapeLayer.strokeColor = [UIColor lightGrayColor].CGColor; shapeLayer.lineWidth = 1.0f; return cell;
结果如下:
你可以修改你想要的angular落或创build另一条path。
我希望它有帮助。
谁说[_tblView.layer setCornerRadius:10.0];
不在分组样式tableView中工作。
编写这个代码,你将设置setCornerRadius也适用于分组tableView。
[_tblView setBackgroundView:nil]; [_tblView setBackgroundColor:[UIColor greenColor]]; [_tblView.layer setCornerRadius:10.0];
[_tblView.layer setCornerRadius:10.0];
不会为tableView的特定段创build拐angular半径,这是设置整个tableView的拐angular半径。
而不是设置单元格的angular落半径,请为cell.contentview设置半径,如下所示:
cell.contentView.layer.cornerRadius = 10.0f; cell.contentView.layer.borderColor = [UIColor blackColor].CGColor; cell.contentView.layer.borderWidth = 3.0f;
在初始化单元时放置上面的代码。
将quartzcore框架添加到您的项目
import QuartzCore/QuartzCore.h to your .h file
self.tableView.layer.cornerRadius = 5.0f;
我想你错过了这行代码:
[self.tableView.layer setMasksToBounds:YES];
首先,你需要使用QuartzCode框架导入框架和声明.h文件你想要设置图层效果的类。
并添加该方法
myTableView.layer.cornerRadius=5; [myTableView setClipsToBounds:YES];
如果你想设置angular落radious到单元格也试过这个代码
UITableViewCell.layer是一类CALayer和CALayer类有一个属性叫cornerRadius。 所以你设置单元格的angular落半径为休闲:
[cell.layer setCornerRadius:3.0];
试试这个代码。
你可以这样做。 它为我工作
UILabel *delLbl = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 300, 44)]; delLbl.font = [UIFont fontWithName:@"Arial-BoldMT" size:18]; delLbl.layer.cornerRadius = 10.0f; delLbl.layer.borderWidth = 1.0f; delLbl.layer.borderColor = [UIColor grayColor].CGColor; delLbl.text = @"Cell Text"; delLbl.textAlignment = NSTextAlignmentCenter; [cell.contentView addSubview:delLbl]; cell.backgroundView = [[UIView alloc] initWithFrame:CGRectZero]; Return Cell;
我认为PrettyKit是你正在寻找的。 完全可定制和快速。 https://github.com/vicpenap/PrettyKit给它一个去。 应该适当地做好工作。
将此添加到您的.h文件
#import <QuartzCore/QuartzCore.h>
并在你的代码中使用下面,
tblView.layer.cornerRadius=5.0f;
尝试这个:-
tableView.layer.cornerRadius=5.0f;