美文网首页
iOS视图移动到点击位置,如果点击的是视图,则视图变色

iOS视图移动到点击位置,如果点击的是视图,则视图变色

作者: Desert_Eagle | 来源:发表于2018-02-07 11:52 被阅读0次
    @interface ViewController ()
    
    @property (nonatomic, strong) CALayer *colorLayer;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.colorLayer = [CALayer layer];
        self.colorLayer.frame = CGRectMake(0, 0, 100, 100);
        self.colorLayer.position = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height / 2);
        self.colorLayer.backgroundColor = [UIColor redColor].CGColor;
        [self.view.layer addSublayer:self.colorLayer];
        
    }
    
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
        CGPoint point = [[touches anyObject] locationInView:self.view];
        if ([self.colorLayer.presentationLayer hitTest:point]) {
            CGFloat red = arc4random() / (CGFloat)INT_MAX;
            CGFloat green = arc4random() / (CGFloat)INT_MAX;
            CGFloat blue = arc4random() / (CGFloat)INT_MAX;
            self.colorLayer.backgroundColor = [UIColor colorWithRed:red green:green blue:blue alpha:1.0].CGColor;
        } else {
            [CATransaction begin];
            [CATransaction setAnimationDuration:4.0];
            self.colorLayer.position = point;
            [CATransaction commit];
        }
    }
    

    相关文章

      网友评论

          本文标题:iOS视图移动到点击位置,如果点击的是视图,则视图变色

          本文链接:https://www.haomeiwen.com/subject/vfmozxtx.html