The main meeting screen view controller.
Displays the participant grid, plugins, screen share, header, and control bar.
Parameter Type Required Default Description meetingRealtimeKitClient✅ - The RealtimeKit client instance for the active meeting completion@escaping () -> Void✅ - Closure called when the meeting ends
Property Type Required Default Description dataSourceMeetingViewControllerDataSource?❌ nilData source for providing custom topbar, middle view, and bottom bar
MeetingViewControllerDataSource protocol
Implement this protocol to provide custom UI sections within the meeting screen.
Method Return Type Description getTopbar(viewController:)RtkMeetingHeaderView?Returns a custom header view for the meeting screen getMiddleView(viewController:)UIView?Returns a custom middle view between the header and control bar getBottomTabbar(viewController:)RtkMeetingControlBar?Returns a custom control bar for the meeting screen
let meetingVC = MeetingViewController (
self .dismiss ( animated : true )
meetingVC. modalPresentationStyle = . fullScreen
self . present ( meetingVC, animated : true )
class CustomDataSource : MeetingViewControllerDataSource {
func getTopbar ( viewController : MeetingViewController ) -> RtkMeetingHeaderView ? {
return RtkMeetingHeaderView ( meeting : rtkClient )
func getMiddleView ( viewController : MeetingViewController ) -> UIView ? {
func getBottomTabbar ( viewController : MeetingViewController ) -> RtkMeetingControlBar ? {
let meetingVC = MeetingViewController (
self .dismiss ( animated : true )
meetingVC. dataSource = CustomDataSource ()
self . present ( meetingVC, animated : true )