UIButton永远不会在Action中触发代码

时间:2016-09-04 13:44:39

标签: ios swift uibutton

我有以下屏幕:

enter image description here

X是UIButton的图像,我已经为按钮添加了相应的操作。然而,当我点击按钮时,它永远不会触发动作中的代码。

以下是一些代码:

 @IBAction func CloseProfilePage(sender: AnyObject) {
        self.removeAnimate();    
    }

这是用于启动视图控制器的代码:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
        let selectedAppointment = self.dayDatasource!.appointmentAtIndex(indexPath.item);
        let profilePageViewController = ProfilePageViewController.init(withAppointment: selectedAppointment);

        profilePageViewController.view.frame = self.view.frame
        self.view.addSubview(profilePageViewController.view)
        profilePageViewController.didMoveToParentViewController(self)

    }

按钮肯定在xib中连接到动作:

enter image description here

当我检查视图层次结构时,按钮顶部没有任何其他内容可以阻止按钮但是会记录点击次数。我在这里假设UIButton中的imageView可以点击它作为按钮的一部分。

enter image description here

图片中的X不是我添加的图片视图,而是UIButton附带的图片视图。话虽如此,我还采取了以下措施:

self.profilePageClosePopUpButton.imageView?.userInteractionEnabled = true;

按钮仍然无法点击。我哪里错了?

1 个答案:

答案 0 :(得分:3)

我很难说这个,但我只是在这里写一个解决方案,以防将来有人遇到同样的问题,也许这篇文章可以帮助他们。

在视图中,如下图所示,我在界面构建器中无意中关闭了“用户交互”。因为这是关闭的,所有其他孩子都没有启用交互,因此按钮不可点击的原因......

enter image description here

故事的道德是,检查您的父视图并确保他们的用户交互也已启用。