2017-06-13 2 views
1

Ich habe seit ein paar Tagen damit zu kämpfen. Ich habe eine Liste von ImageCheckRow-Typen und möchte sie als aktiviert oder nicht markiert markieren und sie dann deaktivieren, damit der Benutzer sie nicht ändern kann. Ich habe den folgenden Code ausführen:So deaktivieren Sie eine ImageCheckRow

      let multi = subvalue.extractBool("multi", ifnil: false) 
          let disableEntry = subvalue.extractBool("disabled", ifnil: false) 
          let title: String! = subvalue.extractString("title", ifnil: "Select") 
          let defaultValues = subvalue.extractNSDictionary("values"); 

          let imageChecked: String! 
          let imageUnchecked: String! 

          if (multi)! { 
           currentSection = SelectableSection<ImageCheckRow<String>>(title, selectionType: .multipleSelection) 
           imageChecked = "images/checkbox-checked" 
           imageUnchecked = "images/checkbox-unchecked" 
          } else { 
           currentSection = SelectableSection<ImageCheckRow<String>>(title, selectionType: .singleSelection(enableDeselection: true)) 

           // We should change these to radios at some point 
           imageChecked = "images/radio-checked" 
           imageUnchecked = "images/radio-unchecked" 
          } 
          form +++ currentSection! 

          if let options = subvalue.extractArray("options") { 
           for option in options { 
            for (optionKey, optionValue) in option as! NSDictionary { 

             currentSection! <<< ImageCheckRow<String> { row in 
              row.tag = "\(tagname)_\(optionKey)" 
              row.title = optionValue as? String 
              row.selectableValue = optionKey as? String 

              if let dvkey = optionKey as? String { 
               if let _ = defaultValues?.value(forKey: dvkey) { 
                row.value = optionKey as? String 
               } 
              } 

              row.disabled = Condition(booleanLiteral: disableEntry!) 
              row.evaluateDisabled() 

             }.cellSetup { cell, _ in 
              cell.trueImage = UIImage(named: imageChecked)! 
              cell.falseImage = UIImage(named: imageUnchecked)! 
             } 
            } 
           } 
          } 

Wenn ‚disableEntry‘ gilt die ImageCheckRow ist immer noch gültig für das Klicken und ändert sich das Bild von zu unkontrolliert und umgekehrt überprüft. Wie sollte ich diese Zeilen deaktivieren?

+0

gelöst. Ihr Code sieht für mich richtig aus, können Sie überprüfen, ob der 'disableEntry' in einigen Fällen 'wahr' wird? Vielleicht können Sie 'true' als Standardwert verwenden, um zu sehen, ob sich etwas ändert. – RemeR

Antwort

1

Versuchen Sie, auf das letzte Commit im Master zu zeigen.

Es war ein Problem in Eureka, das nach der Veröffentlichung 3.0.0 gelöst wurde. Es wurde in PR # 1063 https://github.com/xmartlabs/Eureka/pull/1063

+1

Weitere Details hier https://github.com/xmartlabs/Eureka/issues/1118 –

Verwandte Themen