gpt4 book ai didi

ios - 点击另一个单元格时隐藏 datePicker?

转载 作者:行者123 更新时间:2023-11-29 05:20:58 32 4
gpt4 key购买 nike

我正在按照 Apple 的“使用 Swift 进行应用程序开发”来尝试日期选择器。第 4.9 章,第 700 页。

我不明白的是,当我选择不是两个日期选择器之一的另一个单元格时,如何使我的日期选择器隐藏。如果您点击它们,它们会隐藏得很好,但我希望能够通过选择任何其他单元格(如果我的 View )来隐藏它们。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

tableView.deselectRow(at: indexPath, animated: true)

switch (indexPath.section, indexPath.row) {

case (checkInDatePickerCellIndexPath.section, checkInDatePickerCellIndexPath.row - 1):

if isCheckInDatePickerShown {
isCheckInDatePickerShown = false
} else if isCheckOutDatePickerShown {
isCheckOutDatePickerShown = false
isCheckInDatePickerShown = true
} else {
isCheckInDatePickerShown = true
}

tableView.beginUpdates()
tableView.endUpdates()

case (checkOutDatePickerCellIndexPath.section, checkOutDatePickerCellIndexPath.row - 1):

if isCheckOutDatePickerShown {
isCheckOutDatePickerShown = false
} else if isCheckInDatePickerShown {
isCheckInDatePickerShown = false
isCheckOutDatePickerShown = true
} else {
isCheckOutDatePickerShown = true
}

tableView.beginUpdates()
tableView.endUpdates()

default:
break
}

我对整个事情都很陌生,只是想开始了解它。

最佳答案

您可以在默认情况下强制执行此行为,这意味着如果点击的单元格未 checkin 或 checkout ,选择器将隐藏。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

tableView.deselectRow(at: indexPath, animated: true)

switch (indexPath.section, indexPath.row) {

case (checkInDatePickerCellIndexPath.section, checkInDatePickerCellIndexPath.row - 1):

if isCheckInDatePickerShown {
isCheckInDatePickerShown = false
} else if isCheckOutDatePickerShown {
isCheckOutDatePickerShown = false
isCheckInDatePickerShown = true
} else {
isCheckInDatePickerShown = true
}

tableView.beginUpdates()
tableView.endUpdates()

case (checkOutDatePickerCellIndexPath.section, checkOutDatePickerCellIndexPath.row - 1):

if isCheckOutDatePickerShown {
isCheckOutDatePickerShown = false
} else if isCheckInDatePickerShown {
isCheckInDatePickerShown = false
isCheckOutDatePickerShown = true
} else {
isCheckOutDatePickerShown = true
}

tableView.beginUpdates()
tableView.endUpdates()

default:

isCheckOutDatePickerShown = false
isCheckInDatePickerShown = false

tableView.beginUpdates()
tableView.endUpdates()

break
}
}

关于ios - 点击另一个单元格时隐藏 datePicker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58684470/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com