【问题标题】:Swift Eureka Hide Section On ChangeSwift Eureka 隐藏更改部分
【发布时间】:2017-08-26 22:39:46
【问题描述】:

我正在使用 here 找到的 Eureka Swift 表单库。

我有一个文本字段,当您开始输入时,我希望隐藏表单的其他部分。我一开始只是试图隐藏 1 个部分,但当我开始在该字段中输入时没有任何反应。我的代码如下:

  form  +++ Section("Device Search")

        <<< IntRow()
            {
                $0.title = "Asset Tag"
                $0.placeholder = "Enter Asset Tag #"
            }

            .onChange { row in

              self.form.sectionBy(tag: "iOS Version")?.hidden = true
        }

        +++ Section("iOS Version")


        for version in countArray
        {

            form.last! <<< CheckRow()
                {
                    $0.title = version
                    $0.tag = $0.title


            }
        }

另外,有没有办法使用 IntRow 但只删除行的格式化程序?

【问题讨论】:

    标签: ios swift swift3 eureka-forms


    【解决方案1】:

    关于你的第二个问题 有没有办法使用 IntRow 但只删除行的格式化程序?

    $0.placeholder = "Enter Asset Tag #"下方添加这一行$0.formatter = nil

    你的第一个问题,如何在EurekaForm中隐藏一个section,首先你的section初始化不是你想的那样,我自己解释一下,你认为你在初始化您的部分带有标记,但在部分定义中,没有任何 init 方法使用 tag 作为参数,因此要获得正确的部分,您需要更改此部分的初始化

            +++ Section("iOS Version"){ //"iOS Version" is actually the header text"
                $0.tag = "test"  //this is the tag
            }
    

    之后你需要修改这个

    .onChange { row in
    
                  self.form.sectionBy(tag: "iOS Version")?.hidden = true
            }
    

    这个人

     .onChange { row in
                    if let section = self.form.sectionBy(tag: "test")
                    {
                        section.hidden = true 
                        section.evaluateHidden()   //you are missing calling this method
                    }
            }
    

    IntRow上写下任何数字后,您名为“iOS版本”的标题将被隐藏

    完整代码

    form  +++ Section("Device Search")
                
                <<< IntRow()
                    {
                        $0.title = "Asset Tag"
                        $0.placeholder = "Enter Asset Tag #"
                        $0.formatter = nil
                    }
                    
                    .onChange { row in
                        if let section = self.form.sectionBy(tag: "test")
                        {
                            section.hidden = true
                            section.evaluateHidden()
                        }
                }
                
                +++ Section("iOS Version"){
                    $0.tag = "test"
            }
            
            for version in countArray
            {
                form.last! <<< CheckRow()
                    {
                        $0.title = version
                        $0.tag = $0.title
                }
            }
    

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多