美文网首页
简单的得到当前点击的是哪一个UIVIew或者CALayer

简单的得到当前点击的是哪一个UIVIew或者CALayer

作者: xnxin | 来源:发表于2015-08-30 15:52 被阅读258次

图是这样的,我上面蓝色的是一个CALayer,白的的是个UIView

    @property (weak, nonatomic) IBOutlet UIView *white;
    @property (strong, nonatomic) CALayer *blueLayer;


    _blueLayer = [CALayer layer];
    _blueLayer.frame = CGRectMake(50, 50, 100, 100);
    _blueLayer.backgroundColor = [UIColor blueColor].CGColor;
    [_white.layer addSublayer:_blueLayer];
图1.1.png

通过简单的hitTesting来获取点击的是哪一个视图

首先通过CGPoint point = [[touches anyObject] locationInView:self.view];获取到点击的点的位置,然后使用CALayer *layer = [self.view.layer hitTest:point];获取当点点击的点属于哪一个CALayer,通过判断即可获取到当前点击的是哪一个CALayer或者View

if (layer == self.blueLayer){
    //do something
} else if (layer == self.white.layer) {
    //do something
}
效果图.gif

相关文章

网友评论

      本文标题:简单的得到当前点击的是哪一个UIVIew或者CALayer

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