Commit 496223a0 cgx

绘制部分圆弧

1 个父辈 039cb2f3
...@@ -16,5 +16,21 @@ ...@@ -16,5 +16,21 @@
stopOnStyle = "0"> stopOnStyle = "0">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D4B34AD0-00D5-4360-96E2-AEA2CAD80A2E"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DreamSleep/Class/Start/Root/AppDelegate.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "138"
endingLineNumber = "138"
landmarkName = "-application:continueUserActivity:restorationHandler:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>
...@@ -55,5 +55,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -55,5 +55,7 @@ NS_ASSUME_NONNULL_BEGIN
- (UIView *)genGradientWithStart:(CGPoint)start end:(CGPoint)end colors:(NSArray *)colors locations:(NSArray *)locations; - (UIView *)genGradientWithStart:(CGPoint)start end:(CGPoint)end colors:(NSArray *)colors locations:(NSArray *)locations;
// 截图 // 截图
- (UIImage *)snapshotImage; - (UIImage *)snapshotImage;
- (UIImage *)snapshotImage:(CGSize)size;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -181,6 +181,19 @@ ...@@ -181,6 +181,19 @@
// 2.将控制器view的layer渲染到上下文 // 2.将控制器view的layer渲染到上下文
[self.layer renderInContext:UIGraphicsGetCurrentContext()]; [self.layer renderInContext:UIGraphicsGetCurrentContext()];
// 3.获取图片 // 3.获取图片
UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
// 4.结束上下文
UIGraphicsEndImageContext();
return snapshotImage;
}
- (UIImage *)snapshotImage:(CGSize)size {
// 1.开启上下文
UIGraphicsBeginImageContextWithOptions(size, self.opaque, 0);
// 2.将控制器view的layer渲染到上下文
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
// 3.获取图片
UIImage *snapshotImage=UIGraphicsGetImageFromCurrentImageContext(); UIImage *snapshotImage=UIGraphicsGetImageFromCurrentImageContext();
// 4.结束上下文 // 4.结束上下文
UIGraphicsEndImageContext(); UIGraphicsEndImageContext();
......
...@@ -11,12 +11,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -11,12 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
/// 自定义贝塞尔曲线 /// 自定义贝塞尔曲线
@interface BeizerView : UIView @interface BeizerView : UIView
@property(nonatomic, assign)float progressRate; @property (nonatomic, assign) float progressRate;
@property(nonatomic, strong)UIColor *color;
@property(nonatomic, assign)float x;//cetner x
@property(nonatomic, assign)float y;//center y
@property(nonatomic, assign)float radius;//半径
@property(nonatomic, assign)float startAngle;//起始位置
- (void)animateProgress:(float)progress animate:(BOOL)animate; - (void)animateProgress:(float)progress animate:(BOOL)animate;
@end @end
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
@property (nonatomic, strong) UIButton *rulesBtn; @property (nonatomic, strong) UIButton *rulesBtn;
@property (nonatomic, strong) UILabel *curRankLab; @property (nonatomic, strong) UILabel *curRankLab;
@property (nonatomic, strong) UILabel *nextRankLab; @property (nonatomic, strong) UILabel *nextRankLab;
@property (nonatomic, strong) BeizerView *beizerView; @property (nonatomic, strong) BeizerView *arcBeizerView;
@property (nonatomic, strong) ScoreRulesView *scoreRulesView; @property (nonatomic, strong) ScoreRulesView *scoreRulesView;
@property (nonatomic, strong) NSArray *rulesArr; @property (nonatomic, strong) NSArray *rulesArr;
@end @end
...@@ -30,10 +30,10 @@ ...@@ -30,10 +30,10 @@
[self addSubview:self.curRankNameLab]; [self addSubview:self.curRankNameLab];
[self addSubview:self.totalPointsLab]; [self addSubview:self.totalPointsLab];
[self addSubview:self.rewardIV]; [self addSubview:self.rewardIV];
[self addSubview:self.rulesBtn];
[self addSubview:self.curRankLab]; [self addSubview:self.curRankLab];
[self addSubview:self.nextRankLab]; [self addSubview:self.nextRankLab];
[self addSubview:self.beizerView]; [self addSubview:self.arcBeizerView];
[self addSubview:self.rulesBtn];
CGFloat h = 150*(kScreenWidth - 30)/345; CGFloat h = 150*(kScreenWidth - 30)/345;
[self.cardIV mas_makeConstraints:^(MASConstraintMaker *make) { [self.cardIV mas_makeConstraints:^(MASConstraintMaker *make) {
...@@ -52,11 +52,29 @@ ...@@ -52,11 +52,29 @@
make.right.equalTo(self.cardIV).offset(-9); make.right.equalTo(self.cardIV).offset(-9);
make.size.mas_equalTo(CGSizeMake(64, 21)); make.size.mas_equalTo(CGSizeMake(64, 21));
}]; }];
[self.beizerView mas_makeConstraints:^(MASConstraintMaker *make) { [self.arcBeizerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.cardIV); make.right.equalTo(self.cardIV);
make.left.equalTo(self.cardIV).offset(-self.cardIV.width);
make.bottom.equalTo(self.cardIV).offset(-36); make.bottom.equalTo(self.cardIV).offset(-36);
make.top.equalTo(self.cardIV).offset(38); make.top.equalTo(self.cardIV).offset(-38);
}]; }];
// 截图方法
// [self.curBeizerView mas_makeConstraints:^(MASConstraintMaker *make) {
// // make.left.top.bottom.right.equalTo(self.totalBeizerView);
// make.left.top.bottom.equalTo(self.totalBeizerView);
// make.right.equalTo(self.totalBeizerView).offset(-100);
// }];
// [self.curBeizerView layoutIfNeeded];
// UIImage *imge = [self.curBeizerView snapshotImage:CGSizeMake(200, self.curBeizerView.height)];
// UIImageView *iv = [UIImageView new];
// iv.image = imge;
// iv.backgroundColor = DSClearColor;
// [self addSubview:iv];
// [iv mas_makeConstraints:^(MASConstraintMaker *make) {
// make.top.left.bottom.equalTo(self.totalBeizerView);
// make.width.equalTo(@200);
// }];
// self.curBeizerView.hidden = YES;
} }
return self; return self;
} }
...@@ -69,7 +87,9 @@ ...@@ -69,7 +87,9 @@
[self.rewardIV yy_setImageWithURL:[NSURL URLWithString:scoreModel.reward_img] placeholder:[UIImage imageNamed:@"basicPlaceholder"]]; [self.rewardIV yy_setImageWithURL:[NSURL URLWithString:scoreModel.reward_img] placeholder:[UIImage imageNamed:@"basicPlaceholder"]];
self.curRankLab.text = scoreModel.cur_rank; self.curRankLab.text = scoreModel.cur_rank;
self.nextRankLab.text = scoreModel.next_rank; self.nextRankLab.text = scoreModel.next_rank;
[self.beizerView animateProgress:.8 animate:YES]; double progress = (double)scoreModel.total_points / (double)scoreModel.next_min_point;
DSLog(@"progress:%f", progress);
[self.arcBeizerView animateProgress:1.0 animate:YES];
[self.curRankNameLab mas_makeConstraints:^(MASConstraintMaker *make) { [self.curRankNameLab mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.cardIV).offset(20); make.left.equalTo(self.cardIV).offset(20);
...@@ -146,17 +166,11 @@ ...@@ -146,17 +166,11 @@
return _nextRankLab; return _nextRankLab;
} }
- (BeizerView *)beizerView { - (BeizerView *)arcBeizerView {
if (!_beizerView) { if (!_arcBeizerView) {
_beizerView = [[BeizerView alloc]initWithFrame:CGRectZero]; _arcBeizerView = [BeizerView new];
_beizerView.x = 50;
_beizerView.y = 50;
// _beizerView.radius = 40;
_beizerView.backgroundColor = DSClearColor;
// [_beizerView debugViewShowBorder];
// _beizerView.layer.anchorPoint = CGPointMake(0.5, 0.5);
} }
return _beizerView; return _arcBeizerView;
} }
- (ScoreRulesView *)scoreRulesView { - (ScoreRulesView *)scoreRulesView {
......
...@@ -7,77 +7,77 @@ ...@@ -7,77 +7,77 @@
<key>AFNetworking.xcscheme_^#shared#^_</key> <key>AFNetworking.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>8</integer> <integer>9</integer>
</dict> </dict>
<key>DKNightVersion.xcscheme_^#shared#^_</key> <key>DKNightVersion.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>10</integer> <integer>12</integer>
</dict> </dict>
<key>DOUAudioStreamer.xcscheme_^#shared#^_</key> <key>DOUAudioStreamer.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>12</integer> <integer>19</integer>
</dict> </dict>
<key>FreeStreamer.xcscheme_^#shared#^_</key> <key>FreeStreamer.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>17</integer> <integer>15</integer>
</dict> </dict>
<key>IQKeyboardManager.xcscheme_^#shared#^_</key> <key>IQKeyboardManager.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>5</integer> <integer>4</integer>
</dict> </dict>
<key>MBProgressHUD.xcscheme_^#shared#^_</key> <key>MBProgressHUD.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>9</integer> <integer>8</integer>
</dict> </dict>
<key>MJRefresh.xcscheme_^#shared#^_</key> <key>MJRefresh.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>13</integer> <integer>7</integer>
</dict> </dict>
<key>Masonry.xcscheme_^#shared#^_</key> <key>Masonry.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>18</integer> <integer>6</integer>
</dict> </dict>
<key>Pods-DreamSleep.xcscheme_^#shared#^_</key> <key>Pods-DreamSleep.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>4</integer> <integer>16</integer>
</dict> </dict>
<key>Reachability.xcscheme_^#shared#^_</key> <key>Reachability.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>7</integer> <integer>10</integer>
</dict> </dict>
<key>YYCache.xcscheme_^#shared#^_</key> <key>YYCache.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>15</integer> <integer>11</integer>
</dict> </dict>
<key>YYImage.xcscheme_^#shared#^_</key> <key>YYImage.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>14</integer> <integer>13</integer>
</dict> </dict>
<key>YYModel.xcscheme_^#shared#^_</key> <key>YYModel.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>16</integer> <integer>18</integer>
</dict> </dict>
<key>YYWebImage.xcscheme_^#shared#^_</key> <key>YYWebImage.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>19</integer> <integer>17</integer>
</dict> </dict>
<key>lottie-ios.xcscheme_^#shared#^_</key> <key>lottie-ios.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>11</integer> <integer>5</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<key>UnityFramework.xcscheme_^#shared#^_</key> <key>UnityFramework.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>6</integer> <integer>14</integer>
</dict> </dict>
</dict> </dict>
</dict> </dict>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!