UIButton手势在子视图控制器中无法识别。UIButton添加目标工作(按钮获取目标操作)用户交互在任何地方都打开,按钮大小正常。我尝试将childVC设置为主视图,然后一切正常,调试视图层次结构时说按钮视图超过其他元素。IDK哪里有问题。我可以提供更多代码,请告诉我。
添加目标代码:
view.buttonOfLanguageFromTranslate.addTarget(self, action: #selector(self.openDetailView(_:)), for: .touchDown)
添加下级VC代码:
let childVC = ChildVC()
view.addSubview(childVC.view)
self.addChild(childVC)
childVC.didMove(toParent: self)
childVC.view.translatesAutoresizingMaskIntoConstraints = false
self.view.isUserInteractionEnabled = true
self.childVC = childVC
按钮初始化:
var button: UIButton = {
let button = UIButton()
button.setTitle("Title", for: .normal)
button.setTitleColor(.black, for: .normal)
button.setTitleColor(.green, for: .selected)
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
2条答案
按热度按时间cunj1qz11#
问题是
(in mainVC)当我删除它,childVC识别我的点击,我没有为childVC设置额外的大小,查看childVC显示正确,但不是childVC.(如我所想)
t30tvxxf2#
我也遇到了同样的问题。在我的例子中,子视图控制器上的按钮不起作用,因为我忘记将该视图控制器作为子视图添加到其父视图控制器中。
换句话说,我漏掉了这一行: