2016-06-30 14 views
0

プログラムでツールチップボックスを作成しようとしています。私がしようとしているのは、そのコンテナビューの中に親ビューのサイズに等しいコンテナビュー(「ツールチップクラス」)を作成することです。私はツールチップビューを追加しています。その中で私はターゲットを追加するUIButtonを追加しています。私のコードスニペット:すぐにUIButtonでaddTargetが呼び出されない

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() 
} 

メインビューコントローラークラスから。私は "userInteractionEnabled = true"を追加するなど、複数のソリューションを試しましたが、うまくいきませんでした。

他のクラス( "ViewController")の中でこの全体のツールチップメソッドを呼び出すので、私は自分自身を渡しているので、ツールチップクラスで言及されたターゲットが問題になるかもしれないと思いました。だから、単に "ViewController"クラスに同じメソッドを追加してテストします。しかしそれも機能しませんでした。

私がここで紛失しているところを教えてください。

おかげであなたが示したものから推測する

+0

現在使用しているスウィフトバージョンを指定できますか? –

+0

@Nirav swift v2.0 – codejunkie

+0

表示されているナビゲーションバーはありますか? –

答えて

0

うーん、そのハードが、私はこの問題は、あなたがターゲットを追加する前に、新しいUIButtonオブジェクトを作成し、viewにそれを追加しないこと、だと思います。だから、基本的には、containerの作成時にviewにボタンを追加しますが、使用しないボタンにターゲットを追加すると思います。

関連する問題