Participant List View
Overview
The LMChatParticipantListView
is a view that displays a list of chat participants. It provides a table view to show participant information and supports delegate methods for handling user interactions and pagination.
Functionality
Protocols
LMParticipantListViewDelegate
Defines methods that are triggered from tableview and are implemented by the viewcontroller using it
didTapOnCell(indexPath: IndexPath)
: Called when a participant cell is tapped.loadMoreData()
: Called when the table view needs to load more participants.
UI Components
containerView
: ALMView
that serves as the main container for the participant list.loadingView
: An instance ofLMChatHomeFeedShimmerView
used as a loading indicator.tableView
: ALMTableView
that displays the list of participants.- Registered Cells: LMChatParticipantCell
Data Variables
cellHeight
: A constant CGFloat value representing the height of each cell in the table view.data
: An array ofLMChatParticipantCell.ContentModel
objects containing participant information.delegate
: A weak reference to an object conforming toLMParticipantListViewDelegate
.
Methods
reloadList()
: Refreshes the table view and updates the background view based on data availability.
Customization
CustomParticipantListView.swift
class CustomParticipantListView: LMChatParticipantListView {
override func setupAppearance() {
super.setupAppearance()
tableView.backgroundColor = .lightGray
}
}
AppDelegate.swift
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
LMUIComponents.shared.participantListView = CustomParticipantListView.self
// ...
return true
}