在swift

时间:2016-06-30 16:26:10

标签: ios swift

我正在尝试以编程方式创建工具提示框。为此,我要做的是创建一个容器视图(" 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"中添加了相同的方法。上课只是为了测试。但那也没有用。

请告诉我一些我在这里失踪的建议。

由于

1 个答案:

答案 0 :(得分:0)

嗯,很难从你展示的内容中猜出来,但我认为问题是,你在添加目标之前创建了一个新的UIButton对象,并且不将它添加到{{1} }。所以基本上我认为您在创建view时向view添加了按钮,但是您将目标添加到了一个您不会使用的按钮