UIButton的.touchUpInside事件不起作用

时间:2019-07-26 15:11:15

标签: ios swift uicollectionview uibutton touch-up-inside

我正在努力在运行时向UICollectionViewCell添加按钮,并在运行时根据事件的类型将按钮注册到事件。按钮的类型可以是,例如发声按钮和操作按钮,并且都应注册为单独的事件。

UI元素的层次结构类似于UICollectionView-> UICollectionViewCell-> StackView->多个(UIView-> UIButton)。

问题是我无法注册.touchUpInside事件。

我尚未尝试的是通过按钮的实例调用becomeFirstResponder(),将事件方法移至UIViewController内,并在建立视图层次结构后在cellForItemAt方法中添加目标,尝试{ {1},在isUserInteractionEnabledtruefalseUICollectionViewUICollectionViewCell上分别具有值UIStackViewUIView。 >

1 个答案:

答案 0 :(得分:0)

尝试这种调用动作的方式。

UIApplication.shared.sendAction(#selector(didTapUtteranceButton), to: self, from: nil, for: nil)

代替这个:

utteranceButton.button.addTarget(self, #selector(didTapUtteranceButton), for: .touchUpInside)