【发布时间】:2016-03-15 00:44:25
【问题描述】:
我正在构建一个基于按钮的菜单。我只是在代码中构建它们。
let menu00 = UIButton()
menu00.frame=menuHome
let imageSubLayer = CALayer()
imageSubLayer.contents = UIImage(named: "menuIcon.png")!.CGImage
menu00.layer.insertSublayer(drawHexFill(menu00.frame, fillColor: UIColor.lightGrayColor()), atIndex: 2)
menu00.layer.insertSublayer(drawHexBorder(menu00.frame, fillColor: UIColor.clearColor()), atIndex: 1)
menu00.layer.insertSublayer(imageSubLayer, atIndex: 0)
menu00.titleLabel!.text="MENU"
menu00.titleLabel!.textColor=UIColor.whiteColor()
menu00.tag=100
self.view.addSubview(menu00)
drawHexFill 和 drawHexBorder 是 UIBezierPath 绘制图形图层的两个方法,我这样做是因为按钮可能有不同的颜色边框和填充视情况而定。
我遇到的问题是文本和图像不可见。如果我将图像添加为按钮图像,它是可见的,但是在十六进制边框和十六进制填充层之后。
我已经为所有对象尝试了不同的位置“atIndex”,但根本无法得到我想要的。我希望 hexFill 在背景中, hexBorder 下一个,图像或文本在顶部。
有什么建议吗?
【问题讨论】:
-
你搞定了吗?如果是这样,请考虑添加答案并关闭问题,或者,如果给定的答案解决了您的问题;通过接受来结束问题。
标签: ios uibutton swift2 calayer