gpt4 book ai didi

ios - 禁用不同 ViewController 中的按钮 - Swift 3

转载 作者:行者123 更新时间:2023-11-30 11:55:51 25 4
gpt4 key购买 nike

所以我想启用/禁用该 tableViewCell 中的按钮:

class CommonPromoCell: UITableViewCell {
@IBOutlet weak var optionBtnCommon: UIButton

当从其他 tableViewCell 启用/禁用其他按钮时

 class PromoButtonCell: UITableViewCell {
@IBOutlet weak var option1Btn: UIButton!
@IBOutlet weak var option2Btn: UIButton!
@IBOutlet weak var option3Btn: UIButton!

所以我主要希望当选择选项 1 到选项 3 中的一个来启用 optionBtnCommon 时,以及当没有选择上述 3 个按钮时将其禁用。

我尝试过类似的方法

var viewController: PromoButtonCell?

// TODO : DISABLE COMMON BUTTON WHEN NO OTHER IS SELECTED
if (viewController?.option1Btn.isSelected)! || (viewController?.option2Btn.isSelected)! || (viewController?.option3Btn.isSelected)! {
optionBtnCommon.isEnabled = true
} else {
optionBtnCommon.isEnabled = false
}

if写在self.optionBtnCommon.addTarget#selectorfunc

编辑:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let currentPackage = self.packages[indexPath.section]
switch indexPath.row {

case 1:
let cell = tableView.dequeueReusableCell(withIdentifier: "PromoButtonCell") as! PromoButtonCell
cell.populate(currentPackage)
cell.contentView.tag = (indexPath.section + 1) * 10
return cell

case 2:
let cell = tableView.dequeueReusableCell(withIdentifier: "CommonPromoCell") as! CommonPromoCell
cell.populate(currentPackage, forPayment: self.payments[self.paymentIndex].type)
cell.optionBtnCommon.tag = indexPath.section
return cell

谢谢。

最佳答案

如果用户可以更改 option1Btn 和 option2Btn 的状态,您将需要在 PromoButtonCell 之间实现某种事件处理。和 View Controller ,修改 CommonPromoCell 的状态.

我会创建一个协议(protocol),以便 PromoButtonCell可以通知你的 viewController 单元格状态发生了变化。假设您创建 PromoButtonCellDelegate诸如promoButtonCell:UITableViewCell didSelectButton: UIButton之类的事件.

然后viewController就可以实现该协议(protocol),当接收到事件时,尝试访问另一个CommonPromoCell ,改变其状态。

听起来怎么样?

关于ios - 禁用不同 ViewController 中的按钮 - Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47829696/

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