FUITimelinePreviewCollectionViewCell
@MainActor
open class FUITimelinePreviewCollectionViewCell : FUIBaseCollectionViewCell
FUITimelinePreviewCollectionViewCell
is an UI component that extends FUIBaseCollectionViewCell
which contains a FUITimelinePreviewView
. It resizes itself to fit content using the auto-layout size of FUITimelinePreviewView
.
Example Initialization and Configuration:
var data: [FUITimelineItem] {
let item0 = FUITimelineItem()
item0.title = "Planned Downtime Period Identified for Tasks"
item0.due = Date(timeIntervalSinceNow: -86400 * 2) // 86400 sec equal to 1 day
item0.status = .complete
let item1 = FUITimelineItem()
item1.title = "UX Design Review"
item1.due = Date(timeIntervalSinceNow: -86400)
item1.status = .open
let item2 = FUITimelineItem()
item2.title = "Planned Downtime Period Identified for Tasks"
item2.due = Date()
item2.status = .open
let item3 = FUITimelineItem()
item3.title = "UX Design Review"
item3.due = Date(timeIntervalSinceNow: 86400)
item3.status = .open
let item4 = FUITimelineItem()
item4.title = "Project End"
item4.due = Date(timeIntervalSinceNow: 86400 * 2.0)
item4.status = .end
return [item0, item1, item2, item3, item4]
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: FUITimelinePreviewCollectionViewCell.reuseIdentifier, for: indexPath) as! FUITimelinePreviewCollectionViewCell
cell.timelinePreviewView.header.titleLabel.text = "Timeline"
cell.timelinePreviewView.header.attributeLabel.text = "attribute"
cell.timelinePreviewView.header.isDisclosureAccessoryHidden = false
cell.timelinePreviewView.header.didSelectHandler = {
}
// If you want to display other styles than date, for example, Time.
let formatter = DateFormatter()
formatter.dateFormat = "hh:mm"
cell.timelinePreviewView.dateFormatter = formatter
cell.timelinePreviewView.addItems(data)
return cell
}
theming
fdlFUITimelinePreviewCollectionViewCell {
background-color: @clear;
}
fdlFUITimelinePreviewCollectionViewCell_selected {
background-color: @line;
}
-
The
FUITimelinePreviewView
object ofFUITimelinePreviewCollectionViewCell
.Declaration
Swift
@MainActor public private(set) var timelinePreviewView: FUITimelinePreviewView { get }
-
Workaround for the compile issue where empty initializer is not accessible in xcframework.
Declaration
Swift
@MainActor required public init()