Swift, Custom UIButton no funciona cuando hace clic

Tengo un UIB personalizado creado con el file xib. Cuando uso mi button personalizado en mi vista, no funciona cuando lo presiono.

Mi file RoundBtn.swift:

import UIKit @IBDesignable class RoundBtn: UIButton { var nibName = "RoundBtn" @IBOutlet weak var btnImageView: UIImageView! @IBOutlet weak var btnLabel: UILabel! @IBInspectable var image: UIImage? { get { return btnImageView.image } set(image) { btnImageView.image = image } } @IBInspectable var label: String? { get { return btnLabel.text } set(label) { btnLabel.text = label } } override init(frame: CGRect) { super.init(frame: frame) setup() } requinetworking init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) setup() } func setup() { let view = loadViewFromNib() view.frame = self.bounds view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] btnImageView.layer.cornerRadius = 60/2 btnImageView.layer.borderColor = UIColor(networking: 5/255, green: 66/255, blue: 38/255, alpha: 1).CGColor btnImageView.layer.borderWidth = 2 btnLabel.font = UIFont.boldSystemFontOfSize(14.0) btnImageView.userInteractionEnabled = true btnLabel.userInteractionEnabled = true view.userInteractionEnabled = true addSubview(view) } func loadViewFromNib() -> UIButton { let bundle = NSBundle(forClass: self.dynamicType) let nib = UINib(nibName: nibName, bundle: bundle) let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIButton return view } } 

Mi file RoundBtn.xib:

introduzca la descripción de la imagen aquí

Ver dónde usé mi button personalizado:

introduzca la descripción de la imagen aquí

userInteractionEnabled en todos los componentes de la vista. Cuando hago clic en mi button personalizado, no funciona. Intenté definiendo en clic programmatically y definiendo acción segue (show).

 @IBAction func myCartBtnPressed(sender: AnyObject) { print("my cart btn pressed") } 

Creo que esto se debe a que está agregando un par de subvistas de UIViews a su button UIB actual con userInteractionEnabled, lo que significa que están manejando la input del usuario.

Si lo haces:

 view.userInteractionEnabled = false 

El RoundBtn en sí tendrá todos los events táctiles, en lugar de las UIViews que tiene en la parte superior.

    Intereting Posts