Skip to main content

Poll Result Screen

Overview

The LMChatPollResultScreen is a view controller that displays the results of a poll. It shows poll options in a horizontal collection view and uses a page view controller to display voter lists for each option.

Functionality

UI Components

  • containerView: An LMView that serves as the main container.
  • optionView: An LMCollectionView that displays poll options horizontally.
  • pageController: A UIPageViewController that manages the display of voter lists for each option.
  • optionViewBottomLine: An LMView that serves as a separator between options and results.

Customization

CustomPollResultScreen
class CustomPollResultScreen: LMChatPollResultScreen {
override func setupAppearance() {
super.setupAppearance()
// Add custom appearance setup here
}

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
super.collectionView(collectionView, didSelectItemAt: indexPath)
// Add custom handling here
}
}
AppDelegate.swift
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
LMUIComponents.shared.pollResultScreen = CustomPollResultScreen.self
// ...
return true
}

Notes

  • The screen uses a view model (LMChatPollResultViewModel) to manage its data and business logic.
  • The poll options are displayed in a horizontal scrollable collection view.
  • A page view controller is used to swipe between voter lists for different options.
  • The screen tracks events when users swipe between poll options.

This documentation provides an overview of the `LMChatPollResultScreen`, its main components, methods, and customization options. It follows the structure of the previous documentation while adapting to the specific details of this view controller.