隐藏其他类的按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐藏其他类的按钮相关的知识,希望对你有一定的参考价值。

我想调整另一个类中按钮的可见性。当在下面的代码中调用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
        }()
    }
答案

这个

 let mainTableVC3 = DeviceTableViewCell()

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

var hideBtn = false // default

@objc func fetchDeviesNewDevice(){

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

然后在cellForRowAt

let cell = ////
cell.buttonNew.isHidden = hideBtn 
另一答案

EDITED

在:

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

    }

代替 :

mainTableVC3.buttonaktif()

尝试:

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

让我知道它是否有效

以上是关于隐藏其他类的按钮的主要内容,如果未能解决你的问题,请参考以下文章

Sphinx、reStructuredText 显示/隐藏代码片段

当我尝试在片段中显示或隐藏浮动操作按钮时出错

在android中显示隐藏片段

在Android Studio片段之间切换时地图片段不隐藏

隐藏另一个类的自定义按钮

我想从片段中隐藏片段容器视图(在 MainActivity 布局内),但是当我单击任务按钮然后重新打开应用程序时它不起作用