本示例为在tableview底部添加一个虚线框,方法亦可用于其他场景。

- (void)setUpSectionView{

sectionView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, kSCREEN_WIDTH, 110)];

sectionView.backgroundColor = [UIColor clearColor];

UIImageView* footerBackView = [[UIImageView alloc]init];

footerBackView.frame = CGRectMake(10, 10, kSCREEN_WIDTH - 20, 100);

footerBackView.backgroundColor = [UIColor whiteColor];

[sectionView addSubview:footerBackView];

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

[shapeLayer setBounds:sectionView.bounds];

[shapeLayer setPosition:sectionView.center];

[shapeLayer setFillColor:[[UIColor clearColor] CGColor]];

// 设置虚线颜色为blackColor

[shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];

[shapeLayer setStrokeColor:[HMMainlColor CGColor]];

// 3.0f设置虚线的宽度

[shapeLayer setLineWidth:1.0f];

[shapeLayer setLineJoin:kCALineJoinRound];

// 3=线的宽度 1=每条线的间距

[shapeLayer setLineDashPattern:

[NSArray arrayWithObjects:[NSNumber numberWithInt:5],

[NSNumber numberWithInt:3],nil]];

// Setup the path

CGMutablePathRef path = CGPathCreateMutable();

CGPathMoveToPoint(path, NULL, 10, 10);

CGPathAddLineToPoint(path, NULL, kSCREEN_WIDTH - 10,10);

CGPathMoveToPoint(path, NULL, kSCREEN_WIDTH - 10, 110);

CGPathAddLineToPoint(path, NULL, 10, 110);

CGPathMoveToPoint(path, NULL, 10, 10);

CGPathAddLineToPoint(path, NULL, 10, 110);

CGPathMoveToPoint(path, NULL, kSCREEN_WIDTH - 10, 10);

CGPathAddLineToPoint(path, NULL, kSCREEN_WIDTH - 10, 110);

[shapeLayer setPath:path];

CGPathRelease(path);

// 可以把self改成任何你想要的UIView, 下图演示就是放到UITableViewCell中的

[[sectionView layer] addSublayer:shapeLayer];

addButton = [[UIButton alloc]init];

[sectionView addSubview:addButton];

[addButton mas_makeConstraints:^(MASConstraintMaker *make) {

make.left.mas_equalTo(footerBackView.mas_left);

make.top.mas_equalTo(footerBackView.mas_top);

make.right.mas_equalTo(footerBackView.mas_right);

make.height.mas_equalTo(footerBackView.mas_height);

}];

addButton.pr_acceptEventInterval = 2;

addButton.titleLabel.font = HMFontSize(16);

[addButton setImage:[UIImage imageNamed:@"my_add"] forState:UIControlStateNormal];

[addButton setTitle:@" 添加XXX" forState:UIControlStateNormal];

[addButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];

[addButton addTarget:self action:@selector(addButtonClick:) forControlEvents:UIControlEventTouchUpInside];

self.myTableView.tableFooterView = sectionView;

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐