2015-07-20 181 views
3

我正在開發一個應用程序,我需要一個委託方法來確定哪個按鈕被user.Below所代碼,請讓我知道我犯的錯誤.Delegate不工作,沒有錯誤,沒有崩潰。Swift中的自定義委託方法

import UIKit 
@objc protocol SAlertViewDelegate { 

optional func clickedButtonTitle(title:String) 
} 

class CustomAlertView: UIView { 

var delegate:SAlertViewDelegate? 
func button1Action(sender: UIButton?) { 

    let titleLabel=sender?.titleLabel?.text 
    self.delegate?.clickedButtonTitle!(titleLabel!) 
    removeFromMainView() 
} 

} 

視圖控制器: -

import UIKit 

class CurrentImageVC: UIViewController,SAlertViewDelegate 
{ 
var alert:CustomAlertView=CustomAlertView() 
override func viewDidLoad() { 
    super.viewDidLoad() 

    alert.delegate=self 

    } 

//MARK: Custom Delegate 
func clickedButtonTitle(title:String) 
{ 
    println(title) 
} 

} 
+0

你是如何呈現你的CustomAlertView? –

+0

讓alertSubView = CustomAlertView() alertSubView.frame = CGRectMake(0,0,1024,768) self.view .addSubview(alertSubView) – Saurabh

回答

1

的問題是,你需要指定委託對象,它使用的是添加的子視圖。

let alertSubView: CustomAlertView = CustomAlertView() 
alertSubView.frame=CGRectMake(0,0,1024,768) 
alertSubView.delegate=self 
self.view.addSubview(alertSubView) 
+1

謝謝哥們,你救了我的時間:-) – Saurabh

+0

歡迎@Saurabh讓我知道,如果你有任何其他問題 –