本文将介绍如何定制 TUIRoomKit 的用户界面,我们提供了两个方案供您选择:界面微调方案和自定义 UI 方案。
方案一:界面微调方案
替换图标
您可以直接修改 TUIRoomKit/Resources/TUIRoomKit.xcassets 文件夹下的图标组件,以确保整个 app 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。
替换文案
您可以通过修改
TUIRoomKit/Resources/Localized
文件中 values-zh 和 values-en 的strings.xml
文件来修改视频会议界面的字符串内容。调整 UI 布局
您可以通过修改
TUIRoomKit/Source/View
文件下的不同页面来调整多人视频会议界面的 UI 布局:├── Component│ ├── ButtonItemView.swift //通用View│ └── ListCellItemView.swift //通用View└── Page├── RoomMainView.swift //会议主界面View├── RoomMainViewController.swift //会议主界面ViewController├── RoomRouter.swift //路由└── Widget├── BottomNavigationBar //底部栏│ ├── BottomItemView.swift│ └── BottomView.swift├── FloatWindow //悬浮窗│ ├── RoomUserStatusView.swift│ └── RoomVideoFloatView.swift├── MediaSettings //设置│ ├── MediaSettingView.swift│ └── VideoChoicePanel.swift├── TopNavigationBar //顶部栏│ ├── TopItemView.swift│ └── TopView.swift├── UserControlPanel //用户列表│ ├── UserListManagerView.swift│ └── UserListView.swift├── RaiseHandControlPanel //举手用户管理列表│ └── RaiseHandApplicationListView.swift├── TransferOwnerControlPanel //房间转让列表│ └── TransferMasterView.swift├── PopUpControlPanel //通用弹框│ ├── PopUpView.swift│ └── PopUpViewController.swift└── VideoSeat //视频显示├── ScreenCaptureMaskView.swift├── TUIVideoSeatCell.swift├── TUIVideoSeatLayout.swift├── TUIVideoSeatUserStatusView.swift└── TUIVideoSeatView.swift
底部按钮 BottomView 的修改
为了方便您自定义底部的功能按钮,我们的 BottomView 是通过读取 list 来自动构造,以开关视频按钮为例子,代码如下:
func createBottomData() {let muteVideoItem = ButtonItemData()//设置按钮默认标题muteVideoItem.normalTitle = .unMuteVideoText//设置按钮点击后标题muteVideoItem.selectedTitle = .muteVideoText//设置按钮默认图标muteVideoItem.normalIcon = "room_camera_on"//设置按钮点击后图标muteVideoItem.selectedIcon = "room_camera_off"//设置按钮图片资源获取处muteVideoItem.resourceBundle = tuiRoomKitBundle()//设置按钮是否点击muteVideoItem.isSelect = !(roomInfo.isOpenCamera)//设置按钮类型用于区分不同按钮muteVideoItem.buttonType = .muteVideoItemType//设置按钮点击事件muteVideoItem.action = { [weak self] sender inguard let self = self, let button = sender as? UIButton else { return }self.muteVideoAction(sender: button)}}
方案二:自定义 UI 方案
TUIRoomKit 的整体功能是基于 TUIRoomEngine 这个无 UI SDK 实现的,您可以完全基于 TUIRoomEngine 实现一套自己的 UI 界面。详情可见: