【发布时间】:2014-03-11 22:16:10
【问题描述】:
我将UIView 的 alpha 设置为 0.5,其边框颜色 alpha 也是 0.5,它们是类似的灰色阴影,但在外部显示为较厚的灰色。我猜这是因为这两种颜色混合在一起。有没有办法不只是在顶部添加一个边框,我可以添加一个边框来取代它下面的像素?
【问题讨论】:
标签: ios objective-c uiview border calayer
我将UIView 的 alpha 设置为 0.5,其边框颜色 alpha 也是 0.5,它们是类似的灰色阴影,但在外部显示为较厚的灰色。我猜这是因为这两种颜色混合在一起。有没有办法不只是在顶部添加一个边框,我可以添加一个边框来取代它下面的像素?
【问题讨论】:
标签: ios objective-c uiview border calayer
你是对的,解决这个问题的唯一方法是将你的 0.5 alpha 视图放在一个容器视图中并稍微插入它并为容器添加边框。
【讨论】:
UIView并覆盖drawRect:。
我决定将其发布为答案而不是评论: 另一种方法是继承 UIView 以添加一个比其视图层大一个像素的 CALayer,并根据需要具有边框颜色和边框宽度。对于一次性的,您可以向视图控制器添加代码,该代码将通过代码向视图添加一个层,而不是继承 UIView。我怀疑宽度增加一个像素是否需要调整角半径,除非视图非常小。 – Duncan C 37 秒前编辑
【讨论】: