ChatChannelVC
Controller responsible for displaying the channel messages.
@available(iOSApplicationExtension, unavailable)
open class ChatChannelVC:
_ViewController,
ThemeProvider,
ChatMessageListVCDataSource,
ChatMessageListVCDelegate,
ChatChannelControllerDelegate
Inheritance
_ViewController
, ChatChannelControllerDelegate
, ChatMessageListVCDataSource
, ChatMessageListVCDelegate
, SwiftUIRepresentable
, ThemeProvider
Properties
content
public var content: ChatChannelController
channelController
Controller for observing data changes within the channel.
open var channelController: ChatChannelController!
userSuggestionSearchController
User search controller for suggestion users when typing in the composer.
open lazy var userSuggestionSearchController: ChatUserSearchController
channelAvatarSize
The size of the channel avatar.
open var channelAvatarSize: CGSize
client
public var client: ChatClient
keyboardHandler
Component responsible for setting the correct offset when keyboard frame is changed.
open lazy var keyboardHandler: KeyboardHandler
messageListVC
The message list component responsible to render the messages.
open lazy var messageListVC: ChatMessageListVC
messageComposerVC
Controller that handles the composer view
open private(set) lazy var messageComposerVC
headerView
Header View
open private(set) lazy var headerView: ChatChannelHeaderView = components
.channelHeaderView.init()
.withoutAutoresizingMaskConstraints
channelAvatarView
View for displaying the channel image in the navigation bar.
open private(set) lazy var channelAvatarView = components
.channelAvatarView.init()
.withoutAutoresizingMaskConstraints
Methods
setUp()
override open func setUp()
setUpLayout()
override open func setUpLayout()
viewDidAppear(_:)
override open func viewDidAppear(_ animated: Bool)
viewDidDisappear(_:)
override open func viewDidDisappear(_ animated: Bool)
channel(for:)
open func channel(for vc: ChatMessageListVC) -> ChatChannel?
numberOfMessages(in:)
open func numberOfMessages(in vc: ChatMessageListVC) -> Int
chatMessageListVC(_:messageAt:)
open func chatMessageListVC(_ vc: ChatMessageListVC, messageAt indexPath: IndexPath) -> ChatMessage?
chatMessageListVC(_:messageLayoutOptionsAt:)
open func chatMessageListVC(
_ vc: ChatMessageListVC,
messageLayoutOptionsAt indexPath: IndexPath
) -> ChatMessageLayoutOptions
chatMessageListVC(_:willDisplayMessageAt:)
open func chatMessageListVC(
_ vc: ChatMessageListVC,
willDisplayMessageAt indexPath: IndexPath
)
chatMessageListVC(_:didTapOnAction:for:)
open func chatMessageListVC(
_ vc: ChatMessageListVC,
didTapOnAction actionItem: ChatMessageActionItem,
for message: ChatMessage
)
chatMessageListVC(_:scrollViewDidScroll:)
open func chatMessageListVC(_ vc: ChatMessageListVC, scrollViewDidScroll scrollView: UIScrollView)
channelController(_:didUpdateMessages:)
open func channelController(
_ channelController: ChatChannelController,
didUpdateMessages changes: [ListChange<ChatMessage>]
)
channelController(_:didUpdateChannel:)
open func channelController(
_ channelController: ChatChannelController,
didUpdateChannel channel: EntityChange<ChatChannel>
)
channelController(_:didChangeTypingUsers:)
open func channelController(
_ channelController: ChatChannelController,
didChangeTypingUsers typingUsers: Set<ChatUser>
)