Customize Zoom iOS SDK UI

I am developing an iOS app using Zoom meeting SDK. I want to customise the meeting UI. I am following the documentation for this. But, I am facing issues while following the section 3.2.1: Overview → 2.1: Assign Customise UI Meeting Delegate. I have a controller from where I can start meeting with a button click. I have assigned MobileRTCCustomizedUIMeetingDelegate to self. I have implemented onInitMeetingView() and onDestroyMeetingView() methods. My queries are as follows:
1- Where did StartJoinMeetingPresenter come from (section 3.2.1 → 2.1)?
2- What is CustomMeetingViewController and how to design it (onInitMeetingView()) ?
3- What is customVC and self.rootVC (onInitMeetingView())?

Which iOS Meeting SDK version?



  • Device: [iPhone 12 Pro Max]
  • OS: [iOS 14]

Hey @theclassroomdoor,

Thanks for using the dev forum!

The protocol MobileRTCCustomizedUIMeetingDelegate is for alerting you that the meeting view has been created or destroyed. The CustomMeetingViewController is just an example of a view controller that could be used to display a custom UI. It can look and behave however your want it to. The reason it is presented in the sample code is to show that you could use these functions to simply present your own view controller at the right time. StartJoinMeetingPresenter is just a class for controlling the UI for starting or joining a meeting. You do not need to implement this if you dont want to. Self.rootVC is for grabbing the root viewcontroller for that viewController. This also does not need to be in your own application as it is just sample code.

You could do something like this:

class myViewController {
// this is your custom UI

Your delegate:
func onInitMeetingView() {
present myViewController here


Thank you for the reply. I have implemented my custom controller. I am two issues now:
1- MobileRTCActiveVideoView shows black screen if video from web SDK is turned on. If a keep switching the video from web to on/off, then becomes visible. Another method is to bring the iOS app in the background and taking the app back to foreground. The video becomes visible.
2- MobileRTCPreviewVideoView is not showing my video. If I turn on my video, it is visible to the other user but I can’t see it.
Here is my code:

let controller = ZoomViewController(nibName: “ZoomViewController”, bundle: nil)
controller.view.frame = self.view.bounds;
let video = MobileRTCActiveVideoView.init(frame: CGRect(x: 0, y: 44, width: 400, height: 250))
let myVideo = MobileRTCPreviewVideoView.init(frame: CGRect(x: 0, y: 320, width: 400, height: 250))

Hey @theclassroomdoor,

Is it possible that the views are backwards? The preview view should only be visible to the current user, and the active video should change over time to show the active user.


Hey @Michael_Condon ,
I am not showing local user’s video for now. I’ll get back to this thread once I start implementing that.

Hey @theclassroomdoor,

Sounds good, let us know what you find.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.