gpt4 book ai didi

ios - UITapGesture 不适用于堆栈 View 中的 xib 文件

转载 作者:行者123 更新时间:2023-11-28 11:40:01 26 4
gpt4 key购买 nike

我有一个包含这些项目的 Controller

enter image description here

在堆栈 View 中,我动态添加一个或多个 xib 文件作为 UiView,这是我的 xib 文件代码:

class PassengerInfoItem: UIView {
@IBOutlet weak var View_Content: UIView!
@IBOutlet weak var Label_AddPassenger: UILabel!


override init(frame: CGRect)
{
super.init(frame: frame)
self.commenInit()
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.commenInit()
}

func commenInit()
{
Bundle.main.loadNibNamed("PassengerInfoItem", owner: self, options: nil)
self.View_Content.frame = self.bounds
self.View_Content.autoresizingMask = [.flexibleHeight, .flexibleWidth]
addSubview(self.View_Content)
}}

这是我的 Controller 代码:

for i in 1...(UserSearchModel.Passengers.AdultNumber)!
{
let passengerInfoItem = PassengerInfoItem()
passengerInfoItem.tag = i
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.handleTapGesture_PassengerInfo))
tapGestureRecognizer.delegate = self
passengerInfoItem.addGestureRecognizer(tapGestureRecognizer)
self.StackView_AddPassengerInfo.addArrangedSubview(passengerInfoItem)
}

在堆栈 View 中,所有 passengerInfoItem 都已成功添加,但是当触摸其中一个时没有任何反应,我的问题是 UITapGestureRecognizer 无法正常工作,我检查了所有 isUserInteractionEnabled = true 的后 View 、 ScrollView 、卡片、堆栈 View ,但 UITapGesture 不起作用

最佳答案

因为你在这里添加了另一个实例

 Bundle.main.loadNibNamed("PassengerInfoItem", owner: self, options: nil)
self.View_Content.frame = self.bounds
self.View_Content.autoresizingMask = [.flexibleHeight, .flexibleWidth]
addSubview(self.View_Content)

因此手势应用于最后面的 View ,您可能需要

class func getInstance() ->  PassengerInfoItem {
let vv = Bundle.main.loadNibNamed("PassengerInfoItem", owner: self, options: nil)?.first! as! PassengerInfoItem
return vv
}

然后替换

let passengerInfoItem = PassengerInfoItem()

let passengerInfoItem = PassengerInfoItem.getInstance()

关于ios - UITapGesture 不适用于堆栈 View 中的 xib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53930276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com