私UITableViewController
のセルに、数字が入った円を表示したいと思います。を使って円を描いています UIBezierPath
。bezierPathWithOvalInRect:
残念ながら、fill
色を に設定することはできますが、渡されclearColor
た の未使用部分は黒です。CGRect
bezierPathWithOvalInRect:
作成された黒い領域を取り除くにはどうすればよいですか?
参照用の部分的なスクリーンショット:
(最終的にはその番号を円の中に入れたいと思っています)
コード:
LTTTableViewCell:
- (void)awakeFromNib {
[super awakeFromNib];
// Create a square view using the height of the cell
CGRect positionFrame = CGRectMake(0, 0, self.bounds.size.height, self.bounds.size.height);
LTTDrawBallView *drawBallView = [[LTTDrawBallView alloc] initWithFrame:positionFrame];
[self.contentView addSubview:drawBallView];
}
LTTDrawBallView:
- (void)drawRect:(CGRect)rect
{
// Create a new rect with some padding
// + create a circle from this new rect:
CGRect box = CGRectInset(self.bounds, self.bounds.size.width * 0.1f, self.bounds.size.height * 0.1f);
UIBezierPath *ballBezierPath = [UIBezierPath bezierPathWithOvalInRect:box];
[[UIColor whiteColor] setStroke];
[[UIColor greenColor] setFill]; // Green here to show the black area
[ballBezierPath stroke];
[ballBezierPath fill];
[self setBackgroundColor:[UIColor clearColor]]; // Happens with and without this line
}