Ios 缩放按钮以适应背景图像
我这里有个问题。我想要这个按钮完全符合背景图像的尺寸 例如:Ios 缩放按钮以适应背景图像,ios,swift,Ios,Swift,我这里有个问题。我想要这个按钮完全符合背景图像的尺寸 例如: 如您所见,“请求计划”菱形周围的框与“视图计划”菱形重叠,在运行时,当我单击“视图计划”菱形时,它实际上会单击“请求计划”菱形,因为它重叠。有什么方法可以解决这个问题吗?在故事板中,无论你想要什么长度都相等,只要拖动到另一个对象并选择“等宽”和“等长”。关于重叠,可以更改按钮或视图的顺序,或者重新创建它。您可以创建CustomButtonclass extend ui按钮,然后覆盖pointInside override func
如您所见,“请求计划”菱形周围的框与“视图计划”菱形重叠,在运行时,当我单击“视图计划”菱形时,它实际上会单击“请求计划”菱形,因为它重叠。有什么方法可以解决这个问题吗?在故事板中,无论你想要什么长度都相等,只要拖动到另一个对象并选择“等宽”和“等长”。关于重叠,可以更改按钮或视图的顺序,或者重新创建它。您可以创建
CustomButton
class extend ui按钮,然后覆盖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
value来检查它
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])
}
您可以创建一个普通按钮,然后旋转它。在这种情况下,背景图像需要“旋转”version@jokeman我找不到旋转的选项,当初始化时,我如何做itTry
self.myButton.transform=self.myButton.transform.rotated(by:CGFloat(M_PI_4))
button@jokeman问题是,即使图像旋转,“蓝色方形线”仍然存在,我需要图片中的蓝线来匹配实际的钻石。上面的代码不会旋转图像,而是旋转按钮