logo
当前页

自定义背景

语聊房 UIKit (Live Audio Room Kit) 允许您自定义语聊房的背景视图。

实现流程

以实现如下自定义设置为例,将为您举例说明具体实现方式。

  1. 在左上角显示语聊房的标题和房间 ID。
  2. 显示自定义背景图片。

具体实现方式如下:

  1. 创建 AudioRoomBackgroundView 类。
Untitled
class AudioRoomBackgroundView: UIView {
    
    lazy var roomNameLabel: UILabel = {
        let label = UILabel()
        label.font = UIFont.systemFont(ofSize: 24, weight: .semibold)
        label.textAlignment = .left
        label.numberOfLines = 1
        label.textColor = UIColor.black

        return label
    }()
    
    lazy var roomIDLabel: UILabel = {
        let label = UILabel()
        label.textAlignment = .left
        label.font = UIFont.systemFont(ofSize: 12, weight: .regular)
        label.textColor = UIColor.black
        return label
    }()
    
    lazy var backgroundImageView: UIImageView = {
        let view = UIImageView()
        return view
    }()

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.addSubview(backgroundImageView)
        self.addSubview(roomNameLabel)
        self.addSubview(roomIDLabel)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        self.setupLayout()
    }
    
    func setupLayout() {
        self.backgroundImageView.frame = CGRect(x: 0, y: 0, width: self.frame.width, height: self.frame.height)
        self.roomNameLabel.frame = CGRect(x: 27, y: 57, width: self.frame.width - 27, height: 33)
        self.roomIDLabel.frame = CGRect(x:27, y: self.roomNameLabel.frame.maxY + 2, width: self.frame.width - 27, height: 21)
    }
    
    public func setBackgroundViewContent(_ roomName: String, roomID: String, image: UIImage) {
        self.roomNameLabel.text = roomName
        self.roomIDLabel.text = roomID
        self.backgroundImageView.image = image
    }

}
1
Copied!
  1. AudioRoomBackgroundView 设置到 ZegoUIKitPrebuiltLiveAudioRoomVC 中。
Untitled
class ViewController: UIViewController {

    let selfUserID: String = "userID"
    let selfUserName: String = "userName"
    let yourAppID: UInt32 = YourAppID // 替换为您的 AppID,请从 ZEGO 控制台获取
    let yourAppSign: String = "YourAppSign" // 替换为您的 AppSign,请从 ZEGO 控制台获取
    let roomID: String = "YourRoomID" // 替换为您的 RoomID

    @IBAction func startLiveAudio(_ sender: Any) {

        // 在此处修改您的自定义配置。
        let config: ZegoUIKitPrebuiltLiveAudioRoomConfig = ZegoUIKitPrebuiltLiveAudioRoomConfig.host()
        let liveAudioVC = ZegoUIKitPrebuiltLiveAudioRoomVC.init(yourAppID, appSign: yourAppSign, userID: selfUserID, userName: selfUserName, roomID: roomID, config: config)
        liveAudioVC.modalPresentationStyle = .fullScreen
        let backgroundView: AudioRoomBackgroundView = AudioRoomBackgroundView(frame: CGRect(x: 0, y: 0, width: liveAudioVC.view.frame.width, height: liveAudioVC.view.frame.height))
        backgroundView.setBackgroundViewContent("语聊房", roomID: roomID, image: UIImage(named: "your_background_image_name")) // 替换为实际的图片名称
        liveAudioVC.setBackgroundView(backgroundView)
        self.present(liveAudioVC, animated: true, completion: nil)
    }
}
1
Copied!

Previous

自定义麦位

Next

设置退出确认框

当前页

返回到顶部