我想微小的错误像素(S)一个UILabel和阴影(上边界,而不是文本)UIView的圆角和圆角阴影叶4个边缘
我几乎都有这方面的工作,除在所有4个边缘的颜色不对这个讨厌的几个像素(以下简称“四舍五入”的“余”):
这是我自定义的可重复使用的观点:
我已将各种视图设置为不同的颜色,以便能够尝试查看哪个视图行为不当。
顶层的看法是,我做了阴影(的backgroundColor =绿色):
view.layer.shadowColor = UIColor.blackColor().CGColor
view.layer.shadowOpacity = 0.2
view.layer.shadowOffset = CGSizeMake(3, 3);
view.layer.shadowRadius = 3
注意的是,讨厌错误的像素确实是绿色。
中间视图(“BackgroundView”)是我做的圆角(的backgroundColor =红色):
backgroundView.layer.cornerRadius = 3
backgroundView.layer.masksToBounds = true
如果我这样做,这些边缘由绿色变为白色。我不知道那里的白色是来自:
view.backgroundColor = UIColor.greenColor().colorWithAlphaComponent(0.0)
如果我尝试了unelegant黑客和设置顶层视图的的backgroundColor到粉红色的背景,然后它搅乱了我的阴影下角像这样:
我是新来的斯威夫特和iOS,我知道肯定,我做得n00b'ish。
更新:我试图使这个自定义可重用视图(xib + swift文件)。我发现使用这种方法,我必须使用多个视图,但我不能完全正确地使用它,但是如果我只是尝试在Main.storyboard中手动创建一个一次性视图(阴影+圆角) ,它工作得很好(甚至只有1个视图!)。这是为什么?
你有没有尝试设置backgroundView.backgroundColor透明,无论是在IB或代码? –
我试过clearColor,并设置颜色本身的Alpha和层的alpha ..无济于事 – Jay
请确保'view.opaque'为false。还要确保'backgroundView.clipsToBounds'为true,但我期望它是 – Doc