gpt4 book ai didi

swift - 如何通过访问多个 UIView 的 isHidden 属性来显示它们?

转载 作者:行者123 更新时间:2023-11-30 10:43:04 40 4
gpt4 key购买 nike

我想根据下面的逻辑语句在集合单元格中显示多个 UIView。

此功能适用于我的选项卡栏应用程序中的日历 View 。我正在从 Firebase Firestore 上的数据库读取事件并将其保存在 calData 中。

func configureEventDotFor(cell: CalendarCell, cellState: CellState) {
let dateString = self.globalFormatter.string(from: cellState.date)
for event in self.calData.events! {
let eventDateString = self.globalFormatter.string(from: event.startDate)
if dateString != eventDateString {
cell.holidayBar.isHidden = true
cell.birthdayBar.isHidden = true
cell.defaultBar.isHidden = true
} else if event.category == "birthday" {
cell.birthdayBar.isHidden = false
} else if event.category == "holiday" {
cell.holidayBar.isHidden = false
} else if event.category == "default" {
cell.defaultBar.isHidden = false
} else {
return
}
}
}

calData 中有 4 个事件,2 个默认事件、1 个假日事件和 1 个生日事件。生日和假日事件在同一天,因此 birthdayBarholidayBar 在当天都应该可见。我还希望看到其他两个事件的 defaultBar,但是当我运行应用程序时,只有 HolidayBar 可见。

最佳答案

问题是您似乎试图直接弄乱 UICollectionView 单元格的 subview 。不要那样做。只需根据一些易于访问的状态(通常是数据模型的内容)在 cellForItemAt 方法中设置每个 subview 的显示/隐藏状态即可。如果状态发生变化,只需重新加载 Collection View 即可。

关于swift - 如何通过访问多个 UIView 的 isHidden 属性来显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56386456/

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