如何处理两个label重叠导致的颜色显示不正确问题

如图:由于label1和label2在同一位置,这是在上层的label2颜色显示就会有偏差,正常应该是label3显示效果
clipboard.png

    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 100, 20)];
    label1.text = @"兑奖券";
    label1.textColor = [UIColor redColor];
    [self.view addSubview: label1];
    
    UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 100, 20)];
    label2.text = @"兑奖券";
    label2.textColor = [UIColor whiteColor];
    [self.view addSubview: label2];
    
    UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(150, 100, 100, 20)];
    label3.text = @"兑奖券";
    label3.textColor = [UIColor whiteColor];
    [self.view addSubview: label3];
阅读 3.1k
3 个回答

有个动画中需要都显示,已经解决了

想要不影响就应该将底层不该展示的控件隐藏就可以了

涉及到图层的问题,就像你画了一幅画,再放上一张相同的画,你理想中的情况是两幅画重叠一模一样等同于一张画,事实不是这样,即使是相同坐标相同文字绘制出来的文本也会有偏差,从你的视觉效果看两张画叠在一起起码颜色会更深(亮)吧,更何况颜色还不一样。
更深的涉及到GPU渲染,电子束不断发射打到荧光粉使其发光,然后屏幕一次次不断的刷新,其他的还给物理老师了

遇到同样的问题,已经解决,谢谢!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题