[英]swift Eureka hiding row on multiple conditions
我試圖根據多個條件隱藏 ActionSheetRow,我試圖設置一個 if 語句,但這不起作用。 我想知道是否有人嘗試過或遇到過這種情況?
<<< SwitchRow("switchRow"){
$0.title = "The switch to hide the row when on"
}
<<< ActionSheetRow<String>("number") {
$0.title = "How many sports will be played"
$0.hidden = $0.hidden = Condition.function(["switchRow"], { form in
return ((form.rowBy(tag: "switchRow") as? SwitchRow)?.value ?? false)
})
$0.selectorTitle = "How many sports will be played"
while i <= places.count{
choices.append("\(i)")
i += 1
}
$0.options = choices
}
<<< ActionSheetRow<String>("firstSport"){
$0.hidden = Condition.function(["playSport"], { form in
return ((form.rowBy(tag: "playSport") as? SwitchRow)?.value ?? false)
})
$0.title = "Which is the first sport"
$0.selectorTitle = "Which is the first sport?"
$0.options = ["NBA", "MLB", "NFL",]
}
<<< ActionSheetRow<String>("secondSport"){
$0.title = "Which is the second sport"
$0.selectorTitle = "Which is the second sport?"
$0.options = ["NBA", "MLB", "NFL"]
$0.hidden = Condition.function(["number"])
{ form in
if let section = form.rowBy(tag: "number") as? ActionSheetRow<String> {
if section.value == "1" {
return true
}
}
return false
}
}
如果開關打開或用戶在“數字”ActionSheetRow 中選擇 1,我希望隱藏“secondSport”ActionSheetRow。 這是可能的嗎?
謝謝大家的反饋歡迎。
對你來說可能為時已晚,但我會在這里發布,因為我沒有在其他地方找到正確的答案。
您可以將輸入字典中多行的結果用於隱藏的條件,如下所示:
$0.hidden = .function(["SwitchRow1","SwitchRow2"], { form -> Bool in
let c1: Bool = ((form.rowBy(tag: "SwitchRow1") as? SwitchRow)?.value ?? false)
let c2: Bool = ((form.rowBy(tag: "SwitchRow2") as? SwitchRow)?.value ?? false)
let finalBool = c1 && c2
return (!finalBool)
})
}
我以 SwitchRow 為例,但如果您想將它用於其他類型的行,則條件應該成立。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.