Quartz2D-05.利用贝瑟尔曲线实现进度条功能

  • 效果图
    这里写图片描述

  • 代码实现

// .h文件
#import <UIKit/UIKit.h>
@interface ZJProgressView : UIView
/**
 * 传入进度
 */
@property (nonatomic, assign) CGFloat progress;
@end
//.m文件
#import "ZJProgressView.h"

@implementation ZJProgressView


- (void)drawRect:(CGRect)rect {
    [self drawLoop];
}
// 重写setter方法
-(void)setProgress:(CGFloat)progress{
    _progress = progress;
    // 每次调用setter方法,就重新绘制视图
    [self setNeedsDisplay];
}
// 画圆环
-(void)drawLoop
{
    // 创建贝瑟尔路径
    UIBezierPath *path = [UIBezierPath bezierPath];
    // 计算视图位置属性
    CGFloat viewW = self.bounds.size.width;
    CGFloat viewH = self.bounds.size.height;
    CGPoint center = CGPointMake(viewW * 0.5, viewH * 0.5);
    CGFloat margin = 2;
    // 当前进度条位置
    CGFloat curAngle = M_PI * 2 * _progress/100.0 - M_PI_2;
    // 画弧
    [path addArcWithCenter:center radius:viewW * 0.5 - margin startAngle:-M_PI_2 endAngle:curAngle clockwise:YES];

    // 设置线宽
    path.lineWidth = 3;
    // 设置画笔颜色
    [[UIColor blueColor] setStroke];

    // 路径走线
    [path stroke];

}
//控制器实现代码.m
#import "ViewController.h"
#import "ZJProgressView.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *progressLabel;
@property (weak, nonatomic) IBOutlet ZJProgressView *progressView;
@end
@implementation ViewController
// 监听滑块的值改变事件
- (IBAction)sliderValueChange:(UISlider *)sender {
    // 进度标签赋值
    _progressLabel.text = [NSString stringWithFormat:@"%.2f%%",sender.value];
    // 进度条赋值
    _progressView.progress = sender.value;
}

- (void)viewDidLoad {
    [super viewDidLoad];

}
@end
你可以使用以下命令启动这些 jar 包: ``` nohup java -jar codegen-service.jar > codegen-service.log & nohup java -jar data-market-service-integration.jar > data-market-service-integration.log & nohup java -jar data-market-service-mapping.jar > data-market-service-mapping.log & nohup java -jar data-market-service.jar > data-market-service.log & nohup java -jar data-masterdata-service.jar > data-masterdata-service.log & nohup java -jar data-metadata-service-console.jar > data-metadata-service-console.log & nohup java -jar data-metadata-service.jar > data-metadata-service.log & nohup java -jar data-quality-service.jar > data-quality-service.log & nohup java -jar data-standard-service.jar > data-standard-service.log & nohup java -jar data-visual-service.jar > data-visual-service.log & nohup java -jar datax-auth.jar > datax-auth.log & nohup java -jar datax-config.jar > datax-config.log & nohup java -jar datax-eureka.jar > datax-eureka.log & nohup java -jar datax-gateway.jar > datax-gateway.log & nohup java -jar datax-tool-monitor.jar > datax-tool-monitor.log & nohup java -jar email-service.jar > email-service.log & nohup java -jar file-service.jar > file-service.log & nohup java -jar quartz-service.jar > quartz-service.log & nohup java -jar system-service.jar > system-service.log & nohup java -jar workflow-service.jar > workflow-service.log & ``` 其中,`nohup` 命令可以使程序在后台运行,并将输出重定向到日志文件中。`&` 符号表示在后台运行该命令。请确保在执行此命令之前,已经安装了 Java 运行时环境,并且当前路径下存在相应的 jar 文件。如果 jar 文件不在当前路径下,可以使用绝对路径或相对路径指定文件的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值