我正在尝试以编程方式创建工具提示框。为此,我要做的是创建一个容器视图(" Tooltip类"),它等于其父视图的大小,在容器视图中我添加工具提示视图。在里面,我正在添加一个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()
}
我已经在一个单独的文件中的方法中实现了代码,我从main viewcontroller类调用了这个create tooltip方法。我尝试了多种解决方案,例如,添加" userInteractionEnabled = true"但它没有奏效。
因为我在其他类(" ViewController")中调用了这个整个工具提示方法,我想,因为我将自己传递给它并且tooltip类中提到的目标可能是问题所在。所以在" ViewController"中添加了相同的方法。上课只是为了测试。但那也没有用。
请告诉我一些我在这里失踪的建议。
由于
答案 0 :(得分:0)
UIButton
对象,并且不将它添加到{{1} }。所以基本上我认为您在创建view
时向view
添加了按钮,但是您将目标添加到了一个您不会使用的按钮