Sam*_*tha 0 uibutton uiimageview ios swift4
我正在尝试添加删除按钮作为图像中的子视图。这是我当前的结构:
-> class DesignViewController: UIViewController
|
-> class Sticker: UIImageView, UIGestureRecognizerDelegate
|
-> UI button inside the Sticker
在 Sticker 类中我有:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let button2 = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
button2.backgroundColor = .red
button2.setTitle("Delete", for: .normal)
button2.tag = 23
button2.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.addSubview(button2)
}
@objc func buttonAction(sender: UIButton!) {
print("Button tapped")
}
Run Code Online (Sandbox Code Playgroud)
没有buttonAction被调用。当我将self.addSubview(button2)线路更改为:
self.superview?.addSubview(button2)
Run Code Online (Sandbox Code Playgroud)
我可以看到buttonAction有人打电话。不过,我想将按钮保留在贴纸视图内,以便当用户移动贴纸时,按钮会作为子视图随之移动。
谁能帮忙并让我知道如何将按钮保留在贴纸视图中?
默认情况下,isUserInteractionEnabled的属性UIImageView设置为 false。将其设置为 true,您的按钮将开始响应。您可以在代码和故事板中设置它。
还可以尝试将clipsToBoundsimageview 的属性设置为 true。如果按钮超出图像边界,它会裁剪您的按钮。这可能是您的按钮没有被触摸的原因之一。
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |