缩放按钮以适合背景图像

时间:2017-04-21 16:42:00

标签: ios swift

我在这里遇到问题。我希望按钮能够完美地适应背景图像的尺寸。

例如:

Image Example

正如您所看到的,“请求计划”菱形周围的框重叠或覆盖“查看计划”菱形,在运行时,当我点击“查看计划”菱形时,它实际上点击了“请求”计划“钻石因为它重叠。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

在故事板中,无论你想要什么等于加长,只需拖动到另一个对象并选择" Equal Widths"和#34;等长"。关于重叠,可以更改按钮或视图的顺序,也可以重新创建它。

答案 1 :(得分:0)

您可以创建CustomButton类扩展UIButton,然后覆盖pointInside

override func pointInside(point: CGPoint, withEvent event: UIEvent?) -> Bool {
    *we need check at this point inside or outside*
    return self.alphaAtPoint(point) >= 127
}

我们可以通过检查alpha

来查看它
func alphaAtPoint(point: CGPoint) -> CGFloat {
   var pixel: [UInt8] = [0, 0, 0, 0]
   let colorSpace = CGColorSpaceCreateDeviceRGB();
   let alphaInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
   let context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, colorSpace, alphaInfo)

   CGContextTranslateCTM(context, -point.x, -point.y);

   self.layer.renderInContext(context)

   return CGFloat(pixel[3])
}
相关问题