Swift中的自定义委托方法
问题描述:
我正在开发一个应用程序,我需要一个委托方法来确定哪个按钮被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)
}
}
答
的问题是,你需要指定委托对象,它使用的是添加的子视图。
let alertSubView: CustomAlertView = CustomAlertView()
alertSubView.frame=CGRectMake(0,0,1024,768)
alertSubView.delegate=self
self.view.addSubview(alertSubView)
+1
谢谢哥们,你救了我的时间:-) – Saurabh
+0
欢迎@Saurabh让我知道,如果你有任何其他问题 –
你是如何呈现你的CustomAlertView? –
让alertSubView = CustomAlertView() alertSubView.frame = CGRectMake(0,0,1024,768) self.view .addSubview(alertSubView) – Saurabh