Md Tariqul Islam
Md Tariqul Islam

Reputation: 2804

subview UIButton click event not working from ViewController swift 4

My Custom EmptyUIView. I want to call UIView uiBtnExplore from UIViewController.

class EmptyView: UIView {
    @IBOutlet weak var uiBtnExplore: UIButton!

    class func createEmptyView() -> EmptyView {
        let myEmptyNib = UINib(nibName: "EmptyView", bundle: nil)
        return myEmptyNib.instantiate(withOwner: nil, options: nil)[0] as! EmptyView
    }
}

My UIViewController:

import UIKit
import XLPagerTabStrip

class PlaylistViewController: UIViewController, IndicatorInfoProvider {
    var itemInfo: IndicatorInfo = "PLAYLISTS"
    var emptyView:EmptyView!

    func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {
        return itemInfo
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        emptyView = EmptyView.createEmptyView()
        self.emptyView.center = CGPoint(x: view.frame.size.width  / 2,
                                        y: view.frame.size.height / 2)
        self.view.addSubview(emptyView)
        self.view.bringSubviewToFront(testButton)
        view.isUserInteractionEnabled = false

        self.emptyView.uiBtnExplore.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
    }

    @objc func buttonAction(sender: UIButton!) {
        print("Button Clicked")
    }
}

Upvotes: 0

Views: 1598

Answers (1)

Abu Ul Hassan
Abu Ul Hassan

Reputation: 1396

You have disabled userInteraction with your view, When you disable user interaction it disabled interaction with all of its subviews change below line

view.isUserInteractionEnabled = false

With

view.isUserInteractionEnabled = true

Upvotes: 1

Related Questions