坚持 成长 每日一篇
tableView时常有一个效果,就是当cell在section的第一个位置或者最后一行时,第一个cell左上角和右上角显示圆角,最后一个cell左下角和右下角显示圆角。
方法一
才用方法一可以实现圆角效果,但是如果table设置了滑动删除的话,第一行和最后一行滑动时候看不到删除按钮
如下面代码创建一个cell的子类
CornerTableViewCell.h
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger,RoundCornerType)
{
KKRoundCornerCellTypeTop,
KKRoundCornerCellTypeBottom,
KKRoundCornerCellTypeSingleRow,
KKRoundCornerCellTypeDefault
};
@interface CornerTableViewCell : UITableViewCell
{
CGFloat _cornerRadius;
}
@property(nonatomic,readwrite,assign)RoundCornerType roundCornerType;
-(id)initWithCornerRadius:(CGFloat)radius Style:(UITableViewCellStyle)tyle reuseIdentifier:(NSString*)identifier;
@end
CornerTableViewCell.m
#import "CornerTableViewCell.h"
@implementation CornerTableViewCell
-(id)initWithCornerRadius:(CGFloat)radius Style:(UITableViewCellStyle)tyle reuseIdentifier:(NSString*)identifier
{
self = [super initWithStyle:tyle reuseIdentifier:identifier];
if (self) {
_cornerRadius = radius;
}
return self;
}
-(void)setFrame:(CGRect)frame
{
[super setFrame:frame];
UIBezierPath *path;
switch (_roundCornerType) {
case KKRoundCornerCellTypeTop: {
path = [UIBezierPath bezierPathWithRoundedRect:self