gpt4 book ai didi

ios - addTarget 没有在 UIButton 上快速调用

转载 作者:行者123 更新时间:2023-11-30 13:16:51 25 4
gpt4 key购买 nike

我正在尝试以编程方式制作工具提示框。为此,我想做的是创建一个容器 View (“工具提示类”),它等于其父 View 的大小,在该容器 View 内我添加一个工具提示 View 。在其中我添加了一个 UIButton,并为其添加了一个目标。我的代码片段:

let container: UIView = UIView()
let tooltipView: UIView = UIView()
var closeButton: UIButton = UIButton()

container.frame = view.frame
container.center = view.center
container.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.6)

tooltipView.frame = CGRectMake(40, 40, container.frame.size.width - 80, container.frame.size.height - 80)
tooltipView.backgroundColor = UIColor.whiteColor()
tooltipView.layer.cornerRadius = 10.0

添加按钮:

closeButton = UIButton(type: .Custom)
closeButton.imageView?.contentMode = .ScaleAspectFit
closeButton.frame = CGRectMake(tooltipView.frame.size.width - 45, 0, 45, 45)
closeButton.setBackgroundImage(UIImage(named: "close.png"), forState: .Normal)
closeButton.addTarget(self, action: "closeTooltip", forControlEvents: UIControlEvents.TouchUpInside)

功能:

func closeTooltip() {
print("action")
// container.removeFromSuperview()
}

我已经在单独文件中的方法中实现了代码,并且我从主视图 Controller 类调用此创建工具提示方法。我尝试了多种解决方案,例如添加“userInteractionEnabled = true”,但没有成功。

因为我在其他类(“ViewController”)中调用整个工具提示方法,所以我想,因为我将 self 传递给它,并且工具提示类中提到的目标可能是问题。因此在“ViewController”类中添加了相同的方法只是为了测试。但这也不起作用。

请给我一些我在这里缺少的建议。

谢谢

最佳答案

嗯,很难从您所显示的内容中猜测出来,但我认为问题是,您在添加目标之前创建了一个新的 UIButton 对象,并且不将其添加到 查看。所以基本上我认为您在创建容器时将按钮添加到 View ,但随后将目标添加到您不使用的按钮

关于ios - addTarget 没有在 UIButton 上快速调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38128697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com