隐藏其他类的按钮

问题描述 投票:0回答:2

我想调整另一个类中按钮的可见性。当在下面的代码中调用fetchDeviesNewDevice()函数时,我希望其他classaki buttonnew处于活动状态。 我试图这样做,但它在下面的代码中不起作用。

    class MainTableViewController: UITableViewController, UITabBarControllerDelegate, MiniTabBarDelegate {

    @objc func fetchDeviesNewDevice(){
     let mainTableVC3 = DeviceTableViewCell()
                        mainTableVC3.newdevicechipnumber = self.newdevicechipnumber.text
                        mainTableVC3.buttonaktif()
    .... } }

    class DeviceTableViewCell: UITableViewCell {
     @objc func buttonaktif(){
            buttonNew.isHidden = false 
 }
        lazy var buttonNew: UISwitch = {

            let sw = UISwitch()

            sw.translatesAutoresizingMaskIntoConstraints = false

            sw.isOn = false

            sw.isHidden = true

            sw.addTarget(self, action: #selector(handleChangeStateNew), for: .valueChanged)
            sw.addTarget(self , action: #selector(didPressNew), for: .valueChanged)

            return sw
        }()
    }
ios swift
2个回答
0
投票

这个

 let mainTableVC3 = DeviceTableViewCell()

创建一个新单元格,您需要在模型中添加可见性逻辑并重新加载表格

var hideBtn = false // default

@objc func fetchDeviesNewDevice(){

     hideBtn = true / false
     //reload the table / indexpath
}

然后在cellForRowAt

let cell = ////
cell.buttonNew.isHidden = hideBtn 

0
投票

EDITED

在:

@objc func fetchDeviesNewDevice(){
        let mainTableVC3 = DeviceTableViewCell()
        mainTableVC3.newdevicechipnumber = self.newdevicechipnumber.text
        mainTableVC3.buttonaktif()
        ....

    }

代替 :

mainTableVC3.buttonaktif()

尝试:

mainTableVC3.buttonNew.isHidden = false
yourTableView.reloadData()

让我知道它是否有效

© www.soinside.com 2019 - 2024. All rights reserved.