tableview cell的多次点击问题

This commit is contained in:
DDIsFriend
2023-10-24 15:48:55 +08:00
parent a929cc0c57
commit 2ac5c9901c
3 changed files with 17 additions and 10 deletions

View File

@@ -71,7 +71,7 @@ extension NotificationSetUpController : UITableViewDelegate,UITableViewDataSourc
// GROUP.setNewMessageAlert(newMessageAlert: isOn) // GROUP.setNewMessageAlert(newMessageAlert: isOn)
} }
}) })
.disposed(by: disposeBag) .disposed(by: cell!.disposeBag)
} }
return cell! return cell!
@@ -186,12 +186,14 @@ class NotificationSetUpCell : DDTableViewCell {
public let switchButton : UISwitch public let switchButton : UISwitch
public let arrow : DDImageView public let arrow : DDImageView
public let line : DDView public let line : DDView
public var disposeBag : DisposeBag
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
radiusView = DDView() radiusView = DDView()
nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .hex("000000").alpha(0.8)) nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .hex("000000").alpha(0.8))
switchButton = UISwitch() switchButton = UISwitch()
arrow = DDImageView() arrow = DDImageView()
line = DDView.init() line = DDView.init()
disposeBag = DisposeBag()
super.init(style: style, reuseIdentifier: reuseIdentifier) super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none selectionStyle = .none
@@ -234,4 +236,9 @@ class NotificationSetUpCell : DDTableViewCell {
public required init?(coder: NSCoder) { public required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
override func prepareForReuse() {
super.prepareForReuse()
disposeBag = DisposeBag()
}
} }

View File

@@ -535,7 +535,7 @@ extension RescuePendingOrderController : UITableViewDelegate,UITableViewDataSour
if USERP.canRejectDispatchHandle == true { if USERP.canRejectDispatchHandle == true {
cell?.refuseButton.isHidden = false cell?.refuseButton.isHidden = false
cell?.refuseButton.snp.updateConstraints({ make in cell?.refuseButton.snp.updateConstraints({ make in
make.right.equalTo(cell!.acceptButton.snp.left).offset(-auto(10)) make.right.equalTo(cell!.acceptButton.snp.left).offset(-auto(5))
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
}) })
}else{ }else{
@@ -550,7 +550,7 @@ extension RescuePendingOrderController : UITableViewDelegate,UITableViewDataSour
cell?.acceptButton.isHidden = false cell?.acceptButton.isHidden = false
cell?.acceptButton.snp.updateConstraints({ make in cell?.acceptButton.snp.updateConstraints({ make in
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.right.equalTo(-auto(10)) make.right.equalTo(-auto(8))
}) })
}else{ }else{
cell?.acceptButton.isHidden = true cell?.acceptButton.isHidden = true
@@ -768,7 +768,7 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
.subscribe(onNext: { _ in .subscribe(onNext: { _ in
WEBTOOL.open(name: .reporting,appending: "&queryType=\(OrderTypeEnum.TO_DISPATCH_VEHICLE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)") WEBTOOL.open(name: .reporting,appending: "&queryType=\(OrderTypeEnum.TO_DISPATCH_VEHICLE.rawValue)&userOrderId=\(model.userOrderId)&orderCode=\(model.orderCode)")
}) })
.disposed(by: disposeBag) .disposed(by: cell!.disposeBag)
cell?.contactButton.rx.tap cell?.contactButton.rx.tap
.subscribe(onNext: { _ in .subscribe(onNext: { _ in
SC.userOrderId = model.userOrderId SC.userOrderId = model.userOrderId
@@ -795,7 +795,7 @@ extension RescuePendingDispatchController : UITableViewDelegate,UITableViewDataS
if USERP.canWaitdispatchBtn == true { if USERP.canWaitdispatchBtn == true {
cell?.dispatchButton.isHidden = false cell?.dispatchButton.isHidden = false
cell?.dispatchButton.snp.updateConstraints({ make in cell?.dispatchButton.snp.updateConstraints({ make in
make.right.equalTo(-auto(10)) make.right.equalTo(-auto(8))
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
}) })
}else{ }else{
@@ -1408,7 +1408,7 @@ class RescuePendingOrderCell : DDTableViewCell {
} }
acceptButton.snp.makeConstraints { make in acceptButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-auto(10)) make.right.equalToSuperview().offset(-auto(8))
make.top.equalTo(reserveTitleLabel.snp.bottom).offset(auto(10)) make.top.equalTo(reserveTitleLabel.snp.bottom).offset(auto(10))
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))
@@ -1416,7 +1416,7 @@ class RescuePendingOrderCell : DDTableViewCell {
} }
refuseButton.snp.makeConstraints { make in refuseButton.snp.makeConstraints { make in
make.right.equalTo(acceptButton.snp.left).offset(-auto(10)) make.right.equalTo(acceptButton.snp.left).offset(-auto(5))
make.top.equalTo(acceptButton) make.top.equalTo(acceptButton)
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))
@@ -1735,14 +1735,14 @@ class RescuePendingDispatchCell : DDTableViewCell {
} }
contactButton.snp.makeConstraints { make in contactButton.snp.makeConstraints { make in
make.right.equalTo(dispatchButton.snp.left).offset(-auto(10)) make.right.equalTo(dispatchButton.snp.left).offset(-auto(5))
make.top.equalTo(dispatchButton) make.top.equalTo(dispatchButton)
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))
} }
reportButton.snp.makeConstraints { make in reportButton.snp.makeConstraints { make in
make.right.equalTo(contactButton.snp.left).offset(-auto(10)) make.right.equalTo(contactButton.snp.left).offset(-auto(5))
make.top.equalTo(dispatchButton) make.top.equalTo(dispatchButton)
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))
@@ -1949,7 +1949,7 @@ class RescueIsIngCell : DDTableViewCell {
} }
reportButton.snp.makeConstraints { make in reportButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-auto(10)) make.right.equalToSuperview().offset(-auto(8))
make.top.equalTo(destinationLabel.snp.bottom).offset(auto(10)) make.top.equalTo(destinationLabel.snp.bottom).offset(auto(10))
make.width.equalTo(auto(80)) make.width.equalTo(auto(80))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))