From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001 From: 单军华 Date: Wed, 11 Jul 2018 10:47:42 +0800 Subject: [PATCH] 首次上传 --- screendisplay/screendisplay/Classes/ThirdClass/JHChart/JHPieForeBGView.m | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/screendisplay/screendisplay/Classes/ThirdClass/JHChart/JHPieForeBGView.m b/screendisplay/screendisplay/Classes/ThirdClass/JHChart/JHPieForeBGView.m new file mode 100755 index 0000000..5e9337d --- /dev/null +++ b/screendisplay/screendisplay/Classes/ThirdClass/JHChart/JHPieForeBGView.m @@ -0,0 +1,56 @@ +// +// JHPieForeBGView.m +// JHCALayer +// +// Created by cjatech-������ on 16/4/28. +// Copyright �� 2016��� JH. All rights reserved. +// + +#import "JHPieForeBGView.h" + +@implementation JHPieForeBGView + +-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ + + [self touchesBegan:touches withEvent:event]; +} + + +-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ + + UITouch *touch = [touches anyObject]; + + CGPoint p = [touch locationInView:self]; + + + + if ((p.x-self.frame.size.width/2)*(p.x-self.frame.size.width/2) + (p.y-self.frame.size.height/2)*(p.y-self.frame.size.height/2) >self.frame.size.height*self.frame.size.height) { + return; + } + + + /* ���������������block������ */ + CGFloat aLen2 = (p.x - self.frame.size.width/2)*(p.x - self.frame.size.width/2) + (p.y - self.frame.size.width/2)*(p.y - self.frame.size.width/2); + CGFloat aLen = sqrt(aLen2); + + CGFloat cLen2 =self.frame.size.width/2 * self.frame.size.width/2; + CGFloat cLen = self.frame.size.width/2; + + CGFloat bLen2 = (p.x - self.frame.size.width)*(p.x - self.frame.size.width) + (p.y - self.frame.size.width/2)*(p.y - self.frame.size.width/2); + + + CGFloat angle = acos((aLen2 + cLen2 -bLen2)/2/aLen/cLen); + + if (p.y<self.frame.size.height/2) { + angle = M_PI*2 -angle; + + } + if (self.select) { + self.select(angle,p); + } + +} + + + +@end -- Gitblit v1.8.0