猿问

如何自定义分组表视图单元格的背景/边框颜色?

如何自定义分组表视图单元格的背景/边框颜色?

我想自定义分组样式UITableView的背景和边框颜色。

我可以使用以下方法自定义背景颜色:

tableView.contentView.backgroundColor = [UIColor greenColor];

但边框颜色仍然是我不知道如何改变的东西。

如何自定义分组样式表视图的这两个方面?


蝴蝶刀刀
浏览 557回答 3
3回答

慕娘9325324

在iPhone OS 3.0及更高版本中UITableViewCell现在有一个backgroundColor属性,使这非常容易(特别是与[UIColor colorWithPatternImage:]初始化程序结合使用)。但我会在这里为需要它的人留下2.0版的答案......它比实际应该更难。以下是我必须这样做时的方法:您需要将UITableViewCell的backgroundView属性设置为自定义UIView,以适当的颜色绘制边框和背景本身。此视图需要能够以4种不同的模式绘制边框,在一个部分中的第一个单元格的顶部倒圆,在截面的最后一个单元格的底部倒圆,在截面中间的单元格没有圆角,并在包含一个单元格的部分的所有4个角上舍入。不幸的是我无法弄清楚如何自动设置这个模式,所以我不得不在UITableViewDataSource的-cellForRowAtIndexPath方法中设置它。这是一个真正的PITA,但我已经向Apple工程师证实,这是目前唯一的方法。更新这是自定义bg视图的代码。有一个绘图错误,使圆角看起来有点滑稽,但我有机会修复它之前我们转移到不同的设计并废弃自定义背景。这仍然可能对你非常有帮助:////&nbsp;&nbsp;CustomCellBackgroundView.h////&nbsp;&nbsp;Created&nbsp;by&nbsp;Mike&nbsp;Akers&nbsp;on&nbsp;11/21/08.//&nbsp;&nbsp;Copyright&nbsp;2008&nbsp;__MyCompanyName__.&nbsp;All&nbsp;rights&nbsp;reserved.//#import&nbsp;<UIKit/UIKit.h>typedef&nbsp;enum&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;CustomCellBackgroundViewPositionTop,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;CustomCellBackgroundViewPositionMiddle,&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;CustomCellBackgroundViewPositionBottom, &nbsp;&nbsp;&nbsp;&nbsp;CustomCellBackgroundViewPositionSingle}&nbsp;CustomCellBackgroundViewPosition;@interface&nbsp;CustomCellBackgroundView&nbsp;:&nbsp;UIView&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;UIColor&nbsp;*borderColor; &nbsp;&nbsp;&nbsp;&nbsp;UIColor&nbsp;*fillColor; &nbsp;&nbsp;&nbsp;&nbsp;CustomCellBackgroundViewPosition&nbsp;position;} &nbsp;&nbsp;&nbsp;&nbsp;@property(nonatomic,&nbsp;retain)&nbsp;UIColor&nbsp;*borderColor,&nbsp;*fillColor; &nbsp;&nbsp;&nbsp;&nbsp;@property(nonatomic)&nbsp;CustomCellBackgroundViewPosition&nbsp;position;@end////&nbsp;&nbsp;CustomCellBackgroundView.m////&nbsp;&nbsp;Created&nbsp;by&nbsp;Mike&nbsp;Akers&nbsp;on&nbsp;11/21/08.//&nbsp;&nbsp;Copyright&nbsp;2008&nbsp;__MyCompanyName__.&nbsp;All&nbsp;rights&nbsp;reserved.//#import&nbsp;"CustomCellBackgroundView.h"static&nbsp;void&nbsp;addRoundedRectToPath(CGContextRef&nbsp;context,&nbsp;CGRect&nbsp;rect, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;ovalWidth,float&nbsp;ovalHeight);@implementation&nbsp;CustomCellBackgroundView@synthesize&nbsp;borderColor,&nbsp;fillColor,&nbsp;position;-&nbsp;(BOOL)&nbsp;isOpaque&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;NO;}-&nbsp;(id)initWithFrame:(CGRect)frame&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(self&nbsp;=&nbsp;[super&nbsp;initWithFrame:frame])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Initialization&nbsp;code &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;self;}-&nbsp;(void)drawRect:(CGRect)rect&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Drawing&nbsp;code &nbsp;&nbsp;&nbsp;&nbsp;CGContextRef&nbsp;c&nbsp;=&nbsp;UIGraphicsGetCurrentContext(); &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetFillColorWithColor(c,&nbsp;[fillColor&nbsp;CGColor]); &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetStrokeColorWithColor(c,&nbsp;[borderColor&nbsp;CGColor]); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionTop)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextFillRect(c,&nbsp;CGRectMake(0.0f,&nbsp;rect.size.height&nbsp;-&nbsp;10.0f,&nbsp;rect.size.width,&nbsp;10.0f)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;0.0f,&nbsp;rect.size.height&nbsp;-&nbsp;10.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;0.0f,&nbsp;rect.size.height); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;rect.size.width,&nbsp;rect.size.height); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;rect.size.width,&nbsp;rect.size.height&nbsp;-&nbsp;10.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextStrokePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextClipToRect(c,&nbsp;CGRectMake(0.0f,&nbsp;0.0f,&nbsp;rect.size.width,&nbsp;rect.size.height&nbsp;-&nbsp;10.0f)); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionBottom)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextFillRect(c,&nbsp;CGRectMake(0.0f,&nbsp;0.0f,&nbsp;rect.size.width,&nbsp;10.0f)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;0.0f,&nbsp;10.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;0.0f,&nbsp;0.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextStrokePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;rect.size.width,&nbsp;0.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;rect.size.width,&nbsp;10.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextStrokePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextClipToRect(c,&nbsp;CGRectMake(0.0f,&nbsp;10.0f,&nbsp;rect.size.width,&nbsp;rect.size.height)); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionMiddle)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextFillRect(c,&nbsp;rect); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;0.0f,&nbsp;0.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;0.0f,&nbsp;rect.size.height); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;rect.size.width,&nbsp;rect.size.height); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;rect.size.width,&nbsp;0.0f); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextStrokePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;&nbsp;//&nbsp;no&nbsp;need&nbsp;to&nbsp;bother&nbsp;drawing&nbsp;rounded&nbsp;corners,&nbsp;so&nbsp;we&nbsp;return &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;At&nbsp;this&nbsp;point&nbsp;the&nbsp;clip&nbsp;rect&nbsp;is&nbsp;set&nbsp;to&nbsp;only&nbsp;draw&nbsp;the&nbsp;appropriate &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;corners,&nbsp;so&nbsp;we&nbsp;fill&nbsp;and&nbsp;stroke&nbsp;a&nbsp;rounded&nbsp;rect&nbsp;taking&nbsp;the&nbsp;entire&nbsp;rect &nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;addRoundedRectToPath(c,&nbsp;rect,&nbsp;10.0f,&nbsp;10.0f); &nbsp;&nbsp;&nbsp;&nbsp;CGContextFillPath(c);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetLineWidth(c,&nbsp;1);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;CGContextBeginPath(c); &nbsp;&nbsp;&nbsp;&nbsp;addRoundedRectToPath(c,&nbsp;rect,&nbsp;10.0f,&nbsp;10.0f);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;CGContextStrokePath(c);&nbsp;}-&nbsp;(void)dealloc&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;[borderColor&nbsp;release]; &nbsp;&nbsp;&nbsp;&nbsp;[fillColor&nbsp;release]; &nbsp;&nbsp;&nbsp;&nbsp;[super&nbsp;dealloc];}@endstatic&nbsp;void&nbsp;addRoundedRectToPath(CGContextRef&nbsp;context,&nbsp;CGRect&nbsp;rect, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;ovalWidth,float&nbsp;ovalHeight){ &nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;fw,&nbsp;fh; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(ovalWidth&nbsp;==&nbsp;0&nbsp;||&nbsp;ovalHeight&nbsp;==&nbsp;0)&nbsp;{//&nbsp;1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddRect(context,&nbsp;rect); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;CGContextSaveGState(context);//&nbsp;2 &nbsp;&nbsp;&nbsp;&nbsp;CGContextTranslateCTM&nbsp;(context,&nbsp;CGRectGetMinX(rect),//&nbsp;3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGRectGetMinY(rect)); &nbsp;&nbsp;&nbsp;&nbsp;CGContextScaleCTM&nbsp;(context,&nbsp;ovalWidth,&nbsp;ovalHeight);//&nbsp;4 &nbsp;&nbsp;&nbsp;&nbsp;fw&nbsp;=&nbsp;CGRectGetWidth&nbsp;(rect)&nbsp;/&nbsp;ovalWidth;//&nbsp;5 &nbsp;&nbsp;&nbsp;&nbsp;fh&nbsp;=&nbsp;CGRectGetHeight&nbsp;(rect)&nbsp;/&nbsp;ovalHeight;//&nbsp;6 &nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(context,&nbsp;fw,&nbsp;fh/2);&nbsp;//&nbsp;7 &nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(context,&nbsp;fw,&nbsp;fh,&nbsp;fw/2,&nbsp;fh,&nbsp;1);//&nbsp;8 &nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(context,&nbsp;0,&nbsp;fh,&nbsp;0,&nbsp;fh/2,&nbsp;1);//&nbsp;9 &nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(context,&nbsp;0,&nbsp;0,&nbsp;fw/2,&nbsp;0,&nbsp;1);//&nbsp;10 &nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(context,&nbsp;fw,&nbsp;0,&nbsp;fw,&nbsp;fh/2,&nbsp;1);&nbsp;//&nbsp;11 &nbsp;&nbsp;&nbsp;&nbsp;CGContextClosePath(context);//&nbsp;12 &nbsp;&nbsp;&nbsp;&nbsp;CGContextRestoreGState(context);//&nbsp;13}

哔哔one

我知道答案与更改分组表格单元格有关,但是如果有人想要更改tableview的背景颜色:您不仅需要设置:tableview.backgroundColor&nbsp;=&nbsp;color;您还需要更改或删除背景视图:tableview.backgroundView&nbsp;=&nbsp;nil;

MMMHUHU

首先要感谢这段代码。我在此功能中进行了一些绘图更改,以消除绘图的角落问题。-(void)drawRect:(CGRect)rect&nbsp; { &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Drawing&nbsp;code &nbsp;&nbsp;&nbsp;&nbsp;CGContextRef&nbsp;c&nbsp;=&nbsp;UIGraphicsGetCurrentContext(); &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetFillColorWithColor(c,&nbsp;[fillColor&nbsp;CGColor]); &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetStrokeColorWithColor(c,&nbsp;[borderColor&nbsp;CGColor]); &nbsp;&nbsp;&nbsp;&nbsp;CGContextSetLineWidth(c,&nbsp;2); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionTop)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;minx&nbsp;=&nbsp;CGRectGetMinX(rect)&nbsp;,&nbsp;midx&nbsp;=&nbsp;CGRectGetMidX(rect),&nbsp;maxx&nbsp;=&nbsp;CGRectGetMaxX(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;miny&nbsp;=&nbsp;CGRectGetMinY(rect)&nbsp;,&nbsp;maxy&nbsp;=&nbsp;CGRectGetMaxY(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minx&nbsp;=&nbsp;minx&nbsp;+&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miny&nbsp;=&nbsp;miny&nbsp;+&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxx&nbsp;=&nbsp;maxx&nbsp;-&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxy&nbsp;=&nbsp;maxy&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;minx,&nbsp;maxy); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(c,&nbsp;minx,&nbsp;miny,&nbsp;midx,&nbsp;miny,&nbsp;ROUND_SIZE); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(c,&nbsp;maxx,&nbsp;miny,&nbsp;maxx,&nbsp;maxy,&nbsp;ROUND_SIZE); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;maxx,&nbsp;maxy); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Close&nbsp;the&nbsp;path &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextClosePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Fill&nbsp;&&nbsp;stroke&nbsp;the&nbsp;path &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextDrawPath(c,&nbsp;kCGPathFillStroke);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionBottom)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;minx&nbsp;=&nbsp;CGRectGetMinX(rect)&nbsp;,&nbsp;midx&nbsp;=&nbsp;CGRectGetMidX(rect),&nbsp;maxx&nbsp;=&nbsp;CGRectGetMaxX(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;miny&nbsp;=&nbsp;CGRectGetMinY(rect)&nbsp;,&nbsp;maxy&nbsp;=&nbsp;CGRectGetMaxY(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minx&nbsp;=&nbsp;minx&nbsp;+&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miny&nbsp;=&nbsp;miny&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxx&nbsp;=&nbsp;maxx&nbsp;-&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxy&nbsp;=&nbsp;maxy&nbsp;-&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;minx,&nbsp;miny); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(c,&nbsp;minx,&nbsp;maxy,&nbsp;midx,&nbsp;maxy,&nbsp;ROUND_SIZE); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddArcToPoint(c,&nbsp;maxx,&nbsp;maxy,&nbsp;maxx,&nbsp;miny,&nbsp;ROUND_SIZE); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;maxx,&nbsp;miny); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Close&nbsp;the&nbsp;path &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextClosePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Fill&nbsp;&&nbsp;stroke&nbsp;the&nbsp;path &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextDrawPath(c,&nbsp;kCGPathFillStroke);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(position&nbsp;==&nbsp;CustomCellBackgroundViewPositionMiddle)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;minx&nbsp;=&nbsp;CGRectGetMinX(rect)&nbsp;,&nbsp;maxx&nbsp;=&nbsp;CGRectGetMaxX(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGFloat&nbsp;miny&nbsp;=&nbsp;CGRectGetMinY(rect)&nbsp;,&nbsp;maxy&nbsp;=&nbsp;CGRectGetMaxY(rect)&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minx&nbsp;=&nbsp;minx&nbsp;+&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miny&nbsp;=&nbsp;miny&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxx&nbsp;=&nbsp;maxx&nbsp;-&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxy&nbsp;=&nbsp;maxy&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextMoveToPoint(c,&nbsp;minx,&nbsp;miny); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;maxx,&nbsp;miny); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;maxx,&nbsp;maxy); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextAddLineToPoint(c,&nbsp;minx,&nbsp;maxy); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextClosePath(c); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Fill&nbsp;&&nbsp;stroke&nbsp;the&nbsp;path &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CGContextDrawPath(c,&nbsp;kCGPathFillStroke);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;&nbsp;&nbsp;}}
随时随地看视频慕课网APP

相关分类

iOS
我要回答