如何在复杂的CALayer表单(toolip)上实现公共边框?

时间:2016-05-18 16:03:47

标签: ios calayer

我需要显示带有文字内幕和边框的工具提示 - 就像这样

http://imgur.com/au7qYaL

我可以通过组合圆形corders矩形形式和附加到底部的Triangle形式来实现表单。如果我不需要边框,这就足够了 - 表格相互重叠,你会看到一个合并的表格。

然而,如果我开始应用边框,那么它将在每个表单周围绘制边框,这不是我想要的 - 我需要围绕整个图形的边框。

有没有办法实现这个目标?我已经看到,如果组映射到父图层并在此图层上应用阴影属性,我会得到合并图形背后的阴影 - 所以我需要与边框/笔划相同。

2 个答案:

答案 0 :(得分:1)

如果使用imageView作为背景,您可以使用图片halfresizableImageWithCapInsets任意大小,然后添加另一张翻转图片。例如:

let image = UIImage(named: "half") //(126, 165) only
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
imageView.image = image //looks bad
let insets = UIEdgeInsets(top: 26, left: 26, bottom: 70, right: 60)
imageView.image = image?.resizableImageWithCapInsets(insets) //looks nice

enter image description here

答案 1 :(得分:0)

在这里发布之后,我找到了解决方案:我创建了另一组数字,在每个方向上将它们的大小增加到1个像素,分配不同的颜色并将它们放在BENEATH前面层 - 这看起来真的像边框一样!