Help Center/ Meeting/ Client SDK Reference/ iOS SDK/ APIs/ UI Customization/ Customizing a Menu on the Participants Screen
Updated on 2024-12-27 GMT+08:00

Customizing a Menu on the Participants Screen

buildParticipantToolBarMenuItems

API Description

This API is used to customize a menu at the bottom of the Participants screen.

Figure 1 Menu position on the Participants screen

Precautions

None

Method Definition

1
- (NSArray <HWMConfToolBarMenuItem *> *)buildParticipantToolBarMenuItems;

Parameter Description

None

Return Values

None

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
/// Customize a menu at the bottom of the Participants screen.
- (NSArray <HWMConfToolBarMenuItem *> *)buildParticipantToolBarMenuItems{
   // Mute all participants.
    HWMConfToolBarMenuItem *muteAllItem = [HWMConfToolBarMenuItem defaultMuteAllItem];
    // Unmute all participants.
    HWMConfToolBarMenuItem *unmuteAllItem = [HWMConfToolBarMenuItem defaultUnmuteAllItem];
    // Customize More.
    HWMConfToolBarMenuItem *moreItem = [HWMConfToolBarMenuItem defaultMemberListMoreItem];
    // Raise hands.
    HWMConfToolBarMenuItem *handupItem = [HWMConfToolBarMenuItem defaultHandupItem];
    // Apply to be the host.
    HWMConfToolBarMenuItem *requestChairmanItem = [HWMConfToolBarMenuItem defaultRequestChairmanItem];
    
    return @[muteAllItem, unmuteAllItem, moreItem, handupItem, requestChairmanItem];
}

buildParticipantToolBarMoreMenuItems

API Description

This API is used to customize a More menu at the bottom of the Participants screen.

Figure 2 More menu position on the Participants screen

Precautions

None

Method Definition

1
- (NSArray <HWMConfMenuItem *> *)buildParticipantToolBarMoreMenuItems;

Parameter Description

None

Return Values

None

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/// Customize a More menu at the bottom of the Participants screen.
- (NSArray <HWMConfMenuItem *> *)buildParticipantToolBarMoreMenuItems{
    // Relinquish the host role.
    HWMConfMenuItem *releaseChairmanItem = [HWMConfMenuItem defaultReleaseChairmanItem];
    // Lock the meeting.
    HWMConfMenuItem *lockItem = [HWMConfMenuItem defaultLockItem];
    // Allow or forbid participants to unmute themselves.
    HWMConfMenuItem *allowUnmuteItem = [HWMConfMenuItem defaultAllowAttendeeUnmuteItem];
    
    return @[releaseChairmanItem, lockItem, allowUnmuteItem];
}

buildParticipantTitleBarMenuItems

API Description

This API is used to customize the menu in the upper right corner of the Participants screen.

Figure 3 Menu in the upper right corner of the Participants screen

Precautions

None

Method Definition

1
- (NSArray <HWMConfToolBarMenuItem *> *)buildParticipantTitleBarMenuItems;

Parameter Description

None

Return Values

None

Sample Code

1
2
3
4
5
6
7
/// Customize the menu in the upper right corner of the Participants screen.
- (NSArray <HWMConfToolBarMenuItem *> *)buildParticipantTitleBarMenuItems{
    HWMConfToolBarMenuItem *shareItem = [HWMConfToolBarMenuItem defaultShareItem];
    HWMConfToolBarMenuItem *addressBookItem = [HWMConfToolBarMenuItem defaultAddressBookItem];
    
    return @[shareItem, addressBookItem];
}

buildParticipantActionSheetItems

API Description

This API is used to customize an action sheet that appears in response to touching a participant in the participant list.

Figure 4 Action sheet that appears in response to touching a participant in the participant list

Precautions

None

Method Definition

1
- (NSArray <HWMConfParticipantActionMenuItem *> *)buildParticipantActionSheetItems;

Parameter Description

None

Return Values

None

Sample Code

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/// Customize an action sheet that appears in response to touches by participants.
- (NSArray <HWMConfParticipantActionMenuItem *> *)buildParticipantActionSheetItems{
    // Apply to be the host.
    HWMConfParticipantActionMenuItem *requestChairmanItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRequestChairmanItem];
    // Relinquish the host role.
    HWMConfParticipantActionMenuItem *releaseChairmanItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultReleaseChairmanItem];
   // Start or stop broadcasting the participant.
    HWMConfParticipantActionMenuItem *broadcastItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultBroadcastItem];
    // Mute or unmute the microphone.
    HWMConfParticipantActionMenuItem *muteItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultMuteItem];
    // Hang up the call.
    HWMConfParticipantActionMenuItem *hangupItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultHangupItem];
    // Remove the participant.
    HWMConfParticipantActionMenuItem *removeAttendeeItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRemoveAttendeeItem];
    // Transfer the host role.
    HWMConfParticipantActionMenuItem *transferItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultTransferChairmanItem];
    // Focus on the participant or cancel focus.
    HWMConfParticipantActionMenuItem *watchItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultWatchItem];
    // Raise hands or put hands down.
    HWMConfParticipantActionMenuItem *handup = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultHandupItem];
    // Call other numbers.
    HWMConfParticipantActionMenuItem *callOtherItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultCallOtherNumberItem];
    // Change the display name in the meeting.
    HWMConfParticipantActionMenuItem *changeNameItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultChangeNickNameItem];
    // Recall the participant.
    HWMConfParticipantActionMenuItem *recallItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRecallItem];
    
    return @[releaseChairmanItem, requestChairmanItem, broadcastItem, watchItem, muteItem, transferItem, recallItem, callOtherItem, changeNameItem,    handup, hangupItem, removeAttendeeItem];
}

Customizing the Profile Picture Click Event in buildParticipantActionSheetItems

API Description

This API is used to customize the event when a user touches the profile picture of a participant in the displayed action sheet.

Figure 5 Customizing the touchable area when a user touches the profile picture of a participant in the displayed action sheet

Precautions

  1. Customize buildParticipantActionSheetItems and add the defaultViewDetails item first.
  2. Set the delegate object in defaultViewDetails.
  3. Implement the click event in the delegate object.

Method Definition

None

Parameter Description

None

Return Values

None

Sample Code
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/// Whether to display the arrow on the right of a profile picture and whether the profile picture area can be touched.
- (BOOL)isShowAccessoryView:(HWMConfParticipant *)participant {
    // Return the value as required.
    return YES;
}

/// Customize an action sheet that appears when a user touches a participant in the participant list.
- (NSArray <HWMConfParticipantActionMenuItem *> *)buildParticipantActionSheetItems{
    /// View details.
    HWMConfParticipantActionMenuItem *detailsItem = [HWMConfParticipantActionMenuItem defaultViewDetails];
    detailsItem.delegate = self;
    detailsItem.actionClickEvent = ^(HWMConfCtrlType type, HWMConfParticipant * _Nonnull participant) {
        NSLog(@"Process the click event");
    };
    /// The preceding information is related to viewing details.

    // Apply to be the host.
    HWMConfParticipantActionMenuItem *requestChairmanItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRequestChairmanItem];
    // Relinquish the host role.
    HWMConfParticipantActionMenuItem *releaseChairmanItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultReleaseChairmanItem];
   // Start or stop broadcasting the participant.
    HWMConfParticipantActionMenuItem *broadcastItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultBroadcastItem];
    // Mute or unmute the microphone.
    HWMConfParticipantActionMenuItem *muteItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultMuteItem];
    // Hang up the call.
    HWMConfParticipantActionMenuItem *hangupItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultHangupItem];
    // Remove the participant.
    HWMConfParticipantActionMenuItem *removeAttendeeItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRemoveAttendeeItem];
    // Transfer the host role.
    HWMConfParticipantActionMenuItem *transferItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultTransferChairmanItem];
    // Focus on the participant or cancel focus.
    HWMConfParticipantActionMenuItem *watchItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultWatchItem];
    // Raise hands or put hands down.
    HWMConfParticipantActionMenuItem *handup = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultHandupItem];
    // Call other numbers.
    HWMConfParticipantActionMenuItem *callOtherItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultCallOtherNumberItem];
    // Change the display name in the meeting.
    HWMConfParticipantActionMenuItem *changeNameItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultChangeNickNameItem];
    // Recall the participant.
    HWMConfParticipantActionMenuItem *recallItem = (HWMConfParticipantActionMenuItem *)[HWMConfParticipantActionMenuItem defaultRecallItem];
    
    return @[releaseChairmanItem, requestChairmanItem, broadcastItem, watchItem, muteItem, transferItem, recallItem, callOtherItem, changeNameItem,    handup, hangupItem, removeAttendeeItem];
}

buildWaitingToolBarMenuItems

API Description

This API is used to customize a menu at the bottom of the waiting member list.

Figure 6 Menu position in the waiting member list

Precautions

None

Method Definition

1
- (NSArray <HWMConfToolBarMenuItem *> *)buildWaitingToolBarMenuItems;

Parameter Description

None

Return Values

None

Sample Code

1
2
3
4
5
6
7
8
/// Customize a menu at the bottom of the waiting member list.
- (NSArray<HWMConfToolBarMenuItem *> *)buildWaitingToolBarMenuItems {
    // Admit all members to the meeting.
    HWMConfToolBarMenuItem *admitAllItem = [HWMConfToolBarMenuItem defaultAdmitAllItem];
    // Remove all members from the waiting room.
    HWMConfToolBarMenuItem *removeAllItem = [HWMConfToolBarMenuItem defaultRemoveAllItem];
    return @[admitAllItem, removeAllItem];
}

buildOfflineToolBarMenuItems

API Description

This API is used to customize a menu at the bottom of the absent participant list.

Figure 7 Menu position in the absent participant list

Precautions

None

Method Definition

1
- (NSArray <HWMConfToolBarMenuItem *> *)buildOfflineToolBarMenuItems;

Parameter Description

None

Return Values

None

Sample Code

1
2
3
4
5
6
/// Customize a menu at the bottom of the absent participant list.
- (NSArray <HWMConfToolBarMenuItem *> *)buildOfflineToolBarMenuItems {
    // Call all absent participants.
    HWMConfToolBarMenuItem *recallAllItem = [HWMConfToolBarMenuItem defaultRecallAllItem];
    return @[recallAllItem];
}