logo
当前页

自定义底部菜单栏按钮

语聊房 UIKit(Live Audio Room Kit) 支持自定义调整菜单栏的按钮,支持删除默认按钮或添加自定义按钮。您可以删除默认按钮或添加自定义按钮。如果需要,您可以配置bottomMenuBarConfig:

  • hostButtons:使用此选项为房主(主持人)设置预制的按钮。
  • speakerButtons:使用此选项为发言人设置预制的按钮。
  • audienceButtons:使用此选项为观众设置预制的按钮。
    • maxCount:菜单栏可以显示的按钮的最大数量,支持范围设置[1, 5],默认值是 5。
    • showInRoomMessageButton:是否显示消息按钮,默认显示。

    如果内置按钮和自定义按钮的总数不超过maxCount个,所有按钮都将正常显示。

    若按钮数超过 5 个,超出的其他按钮将隐藏在(⋮)按钮中。单击此按钮将弹出底部面板以显示其他所有按钮。以下是实际效果和参考代码:

    Swift
    Objective-C
       class ViewController: UIViewController {
    
          let selfUserID: String = "userID"
          let selfUserName: String = "userName"
          let yourAppID: UInt32 = YourAppID // 替换为您的 AppID
          let yourAppSign: String = "YourAppSign" // 替换为您的 AppSign
          let roomID: String = "YourRoomID" // 替换为您的 RoomID
    
          @IBAction func startLiveAudio(_ sender: Any) {
    
              // 在此处修改您的自定义配置。
              let config: ZegoUIKitPrebuiltLiveAudioRoomConfig = ZegoUIKitPrebuiltLiveAudioRoomConfig.host()
              config.bottomMenuBarConfig.hostButtons = [.showMemberListButton, .toggleMicrophoneButton]
              config.bottomMenuBarConfig.audienceButtons = [.showMemberListButton, .toggleMicrophoneButton]
              config.bottomMenuBarConfig.speakerButtons = [.showMemberListButton, .toggleMicrophoneButton]
              let liveAudioVC = ZegoUIKitPrebuiltLiveAudioRoomVC.init(yourAppID, appSign: yourAppSign, userID: selfUserID, userName: selfUserName, roomID: roomID, config: config)
    
              liveAudioVC.modalPresentationStyle = .fullScreen
              self.present(liveAudioVC, animated: true, completion: nil)
          }
      }
    
    1
    Copied!
    @implementation ViewController
    
    - (void)viewDidLoad {
      [super viewDidLoad];
      // Do any additional setup after loading the view.
      unsigned int appID = xxx; 
      NSString *appSign = @"xxx"; 
      NSString *userName = @"xxx";
      NSString *userID =  @"xxx";
      NSString *roomID =  @"xxx";
      
    }
    - (void)startLiveAudio {
      ZegoUIKitPrebuiltLiveAudioRoomConfig *config = [ZegoUIKitPrebuiltLiveAudioRoomConfig host];
      
      ZegoBottomMenuBarConfig* bottomMenuBarConfig = [[ZegoBottomMenuBarConfig alloc] initWithHostButtons:@[@(ZegoMenuBarButtonNameLeaveButton)] speakerButtons:@[@(ZegoMenuBarButtonNameToggleMicrophoneButton)] audienceButtons:@[@(ZegoMenuBarButtonNameApplyTakeSeatButton)]];
      config.bottomMenuBarConfig = bottomMenuBarConfig;
    
      ZegoUIKitPrebuiltLiveAudioRoomVC *vc = [[ZegoUIKitPrebuiltLiveAudioRoomVC alloc] init:appID appSign:appSign userID:userID userName:userName roomID:roomID config:config];
      vc.modalPresentationStyle = UIModalPresentationFullScreen;
    [self presentViewController:vc animated:YES completion:^{
        
      }];
    }
    
    1
    Copied!

    此外,您也可以通过以下两种方法实现相同的效果:addButtonToMenuBarclearBottomBarExtendButtons

    Untitled
    @objc public func addButtonToMenuBar(_ button: UIButton, role: ZegoLiveAudioRoomRole)
    
    @objc public func clearBottomBarExtendButtons(_ role: ZegoLiveAudioRoomRole) 
    
    1
    Copied!

    Previous

    自定义 UI 文案

    Next

    发送虚拟礼物

    当前页

    返回到顶部