shrimp-hamburger 2013-04-01 01:55 采纳率: 0%
浏览 4858
已采纳

iphone使用drawRect画圆

我要在UIView中画一个简单的圆形。我不想用QuartzCore,能不能用drawRect实现?

- (void)drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextAddEllipseInRect(ctx, rect);
    CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor greenColor] CGColor]));
    CGContextFillPath(ctx);
}

上述代码在设置[UIColor whiteColor]时就不工作。在设置了[UIColor whiteColor],视图就变成了透明的。

为什么设置白色但是视图变透明?怎么样画圈?

  • 写回答

1条回答 默认 最新

  • vikeyToy 2013-04-01 02:26
    关注

    greenColor 来自RGB颜色,但是whiteColor不是,所以你用错了。

    最好的方法是去掉: CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor greenColor] CGColor]));

    换成:

    [[UIColor greenColor] set];
    

    或者

    [[UIColor whiteColor] set];
    

    另外一点,如果你需要Core Graphics,代码如下:

    CGContextSetFillColorWithColor(ctx, [UIColor greenColor].CGColor);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序