Chapter 5 带颜色的同心圆

一、重写 DrwaRect

-(void)drawRect:(CGRect)rect
{
    CGRect bounds = self.bounds;

    CGPoint center;
    center.x = bounds.origin.x + bounds.size.width / 2.0;
    center.y = bounds.origin.y + bounds.size.height / 2.0;

    float maxRadius = MAX(bounds.size.width, bounds.size.height);
      // 画圆
    UIBezierPath *path = [[UIBezierPath alloc] init];
    for(float currentRadius = maxRadius; currentRadius > 0; currentRadius -= 20)
    {
        [path moveToPoint:CGPointMake(center.x + currentRadius, center.y)];
        [path addArcWithCenter:center
                        radius:currentRadius
                    startAngle:0.0
                      endAngle:M_PI * 2.0
                     clockwise:YES];
    }
    path.lineWidth = 10;

    // Configure the drawing color of light gray
    [self.circleColor setStroke];
    [path stroke];

    /*
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
    CGContextSaveGState(currentContext);
    [path addClip];

    // Gradient triangle
    CGFloat location[2] = {0.0, 1.0};
    CGFloat components[8] = {1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0};
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
    CGGradientRef gradient = CGGradientCreateWithColorComponents(colorspace, components, location, 2);
    CGPoint startPoint = CGPointMake(rect.size.width / 2.0, rect.size.height / 4.0);
    CGPoint endPoint = CGPointMake(rect.size.width / 2.0 , rect.size.height * 0.75);
    CGContextDrawLinearGradient(currentContext, gradient, startPoint, endPoint, 0);
    CGColorSpaceRelease(colorspace);
    CGGradientRelease(gradient);

    // Add shadow of image
    CGContextSetShadow(currentContext, CGSizeMake(4.0, 7.0), 3);
    // Draw stuff here, it will appear with a shadow

    // Add logo image
    UIImage *logoImage = [UIImage imageNamed:@"logo.png"];
    CGRect logoRect = CGRectMake(rect.size.width / 4.0, rect.size.height / 4.0, rect.size.width/2.0, rect.size.height / 2.0);
    [logoImage drawInRect:logoRect];

    CGContextRestoreGState(currentContext);
    // Draw stuff here, it will apear with no shadow;

    CGContextRelease(currentContext);
     */
}

二、重写 touchesBegin:withEvent

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//    NSLog(@"%@ was touched", self);

    // Get 3 random numbers between 0 and 1
    float red = (arc4random() % 100) / 100.0;
    float blue = (arc4random() % 100) / 100.0;
    float green = (arc4random() % 100) / 100.0;

    UIColor *randomColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
    self.circleColor = randomColor;
}

三、重绘 View

[self setNeedsDisplay];
时间: 2024-11-05 22:07:23

Chapter 5 带颜色的同心圆的相关文章

shell脚本中echo显示内容带颜色

转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注:  1.字背景颜

如何在终端中打印带颜色的文本

echo命令 echo是终端下最常用的命令之一,用于在显示器上显示一段文字.一般格式为: echo [ -option ] 字符串 它有2个常用的选项,一个是-n,另一个是-e,下面的图就是 man echo 的结果: echo将字符串输出后是会自动换行的,如果不想换行就需要加上-n选项. -e的作用是强大的,想要输出有颜色的文字就不得不用借助于-e了.为什么要带颜色?看看下图就知道了 都是毛大头,快速辨别的方法就是看数字和颜色.如若看不到数字,单看颜色也能一眼辨别. -e:启用反斜线控制字符的

Shell 显示带颜色字体

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注:  www.2cto.com 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可以没有空格,如果

Linux中让echo命令显示带颜色的字

echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置代表底色, 37的位置是代表字的颜色 注:1.字背景颜色和文字颜色之间是英文的""""2.文字颜色后面有个m3.字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面看几个例子: echo -e "

shell 中echo带颜色输出

在shell中使用echo命令输出带颜色的文本 名称 echo - 显示一行文本 概要 echo [选项]... [字符串]... 描述 向标准输出输出字符串. -n     不输出换行符 -e     打开反斜杠ESC转义 -E     取消反斜杠ESC转义 (默认) --help 显示帮助 --version 显示版本 注意要输出颜色必须有 -e 选项. 然后说一下重点:ANSI控制码在输出有颜色文本方面应用. -e 用来开启echo中的转义 \e 或 \033 来输出Esc符号 设置颜色的

在Linux中让echo命令显示带颜色的字

echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;37m TonyZhang \033[0m" 其中41的位置代表底色, 37的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的“""” 2.文字颜色后面有个m 3.字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面看几个例子: echo -e "\0

shell 带颜色输出

这里记录了shell脚本中可以带颜色输出的方式,使用了一下在python也适用. shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 1.字背景颜色和文字颜色之间是英文的"" 2.文字

Python全栈__服务器与多客户端通信、UDP协议、pycharm打印带颜色输出、时间同步的机制

1.服务器与多客户端通信 1 import socket 2 # 创建tcp socket的套接字 3 sk = socket.socket() 4 # bind 5 sk.bind(('127.0.0.1',8080)) 6 # 监听 7 sk.listen(5) 8 # 等待连接 9 while 1: 10 conn, addr = sk.accept() 11 while 1: 12 msg_s = input('>>>') 13 conn.send(msg_s.encode('u

shell脚本中使用echo显示带颜色的内容

shell脚本中使用echo显示带颜色的内容,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m Hello World \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面是相应的字和背景颜色