2016-08-02 12 views
1

私は自分のフレームワークを作成し、ボタンを用意してボタンをクリックする必要があるので、フレームワークで事前定義された何かを行います。
ここに私のコードです。カスタムフレームワークでUIButtonのUIEventをキャプチャする方法は?

public class WebButton: NSObject { 
    public func enableWebButton(enable:Bool) 
    { 
     if(enable) 
     { 
      let appWindow = UIApplication.sharedApplication().keyWindow 
      let webBtn = UIButton(frame:CGRectMake((appWindow?.frame.size.width)! - 70,(appWindow?.frame.size.height)! - 70,50,50)) 
      let frameworkBundle = NSBundle(forClass: self.classForCoder) 
      let img = UIImage(named: "btn_icon.png", inBundle: frameworkBundle, compatibleWithTraitCollection: nil) 
      webBtn.setImage(img, forState: .Normal) 
      webBtn.layer.cornerRadius = webBtn.frame.size.width/2; 
      webBtn.layer.masksToBounds = true 
      webBtn.addTarget(self, action: "webButtonClick", forControlEvents: .TouchUpInside) 
      appWindow?.addSubview(webBtn) 
      print("btn created") 
     } 
    } 

    func webButtonClick() 
    { 
     print("btn Clicked") 
    } 
} 

このコードでは、サンプルプロジェクトでボタンを取得していますが、ボタンをクリックしても何も起こりません。ログを印刷しようとしているが、

を "BTNがクリック"

"作成BTNは、" 印刷するつもりはありません。
この問題を解決するのを手伝ってください。
ありがとうございます。

答えて

0

はあなたのボタンとあなたのwebButtonClick機能を作成するため、このコードを使用してみてください:

public func enableWebButton(enable:Bool) 
{ 
    if(enable) 
    { 
     let appWindow = UIApplication.sharedApplication().keyWindow 
     let webBtn = UIButton(frame:CGRectMake((appWindow?.frame.size.width)! - 70,(appWindow?.frame.size.height)! - 70,50,50)) 
     let frameworkBundle = NSBundle(forClass: self.classForCoder) 
     let img = UIImage(named: "btn_icon.png", inBundle: frameworkBundle, compatibleWithTraitCollection: nil) 
     webBtn.setImage(img, forState: .Normal) 
     webBtn.layer.cornerRadius = webBtn.frame.size.width/2; 
     webBtn.layer.masksToBounds = true 
     webBtn.addTarget(self, action: "webButtonClick:", forControlEvents: UIControlEvents.TouchUpInside) 
     appWindow?.addSubview(webBtn) 
     print("btn created") 
    } 
} 


func webButtonClick(sender:UIButton!) 
{ 
    print("btn Clicked") 
} 
+0

はすでに何の成功もfunc' '前IBAction' @'追加が、何の成功 –

+0

ボタンが上に表示されていない、それを試していないが、スクリーン? –

+0

はい、ボタンが画像とともに表示されています –

関連する問題