【问题标题】:How add a mask layer, to mask specific color如何添加遮罩层,以遮盖特定颜色
【发布时间】:2016-12-27 23:27:46
【问题描述】:

我在滚动视图中有一个 UILabel。

我想掩盖滚动视图的一部分,当 UILabel 进入该部分时,它会改变它的颜色。

找不到怎么做。

【问题讨论】:

    标签: ios uiview core-animation mask


    【解决方案1】:

    试试这个代码:

    - (void)viewDidLoad {
        [super viewDidLoad];
    
        UIView *maskView = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
        maskView.backgroundColor = [UIColor greenColor];
        maskView.alpha = 0.5;
        self.maskView = maskView;
        [self.view addSubview:maskView];
    }
    
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
        CGRect rect = [self.label convertRect:CGRectMake(0, 0, 100, 100) toView:self.maskView];
        NSLog(@"%@", NSStringFromCGRect(rect));
        if (rect.origin.y >= self.maskView.frame.size.height || rect.origin.y <= -self.label.frame.size.height) {
            self.label.backgroundColor = [UIColor redColor];
        } else {
            self.label.backgroundColor = [UIColor orangeColor];
        }
    }
    

    密钥是scrollViewDidScroll: 和convertRect: toView:。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-30
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-25
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多