List members in a group channel
In Sendbird Chat SwiftUI, you can retrieve a list of members of a group channel through the GroupUserListView
struct. This struct is used to display a list of channel members, operators, muted members, and banned users.
Note: If you set the starting point of your chat service to be the channel list, group channel, or channel settings, you can seamlessly guide your users to the member list view.
Types of user list
There are four different types of list view that display users or members of GroupChannel
.
View | Description |
---|---|
GroupMemberListView | A list of members in the group channel. |
GroupOperatorListView | A list of operators in the channel. |
GroupMutedMemberListView | A list of muted users in the channel. |
GroupBannedUserListView | A list of banned users from the channel. |
Initialize
You can start building a member list view using the GroupMemberListView
, GroupOperatorListView
, GroupMutedMemberListView
, or GroupBannedUserListView
. Each struct can be used to create specific views tailored to different participant lists. Use the init(provider:)
initializer to create the instance and display the view as shown below.
Init parameters
Parameter | Type | Required |
---|---|---|
channelURL | String | o |
users | [SBUUser] | x |
userListType | ChannelUserListType | x |
Customization
Sendbird Chat SwiftUI provides a View customization
and DestinationViewBuilder
.
- View customization: Our SwiftUI SDK allows you to selectively customize view elements. To learn more about the customization and our SwiftUI is designed, see the customization guide.
- DestinationViewBuilder: Use DestinationViewBuilder to customize the destination views that are navigatable from the group channel view.
Note : Visit our Github Sample to see the custom sample implementation for each item.
Partial customization
You can easily customize a specific part of a View
, which particularly comes in handy when changing only a certain area in the View
.
To do so, use the View Builders that Sendbird has predefined and its a ViewConfig
. The ViewConfig
contains the data needed to render the view and its parameters can be found in the table below.
Parameter
GroupMemberListView
Parameter | Type | View builders |
---|---|---|
headerItem | () -> GroupUserListType.HeaderItem | leftView |
listItem | () -> GroupUserListType.ListItem | rowView |
GroupOperatorListView
Parameter | Type | View builders |
---|---|---|
headerItem | () -> GroupOperatorListType.HeaderItem | leftView |
listItem | () -> GroupOperatorListType.ListItem | rowView |
GroupMutedMemberListView
Parameter | Type | View builders |
---|---|---|
headerItem | () -> GroupMutedMemberListType.HeaderItem | leftView |
listItem | () -> GroupMutedMemberListType.ListItem | rowView |
GroupBannedUserListView
Parameter | Type | View builders |
---|---|---|
headerItem | () -> GroupBannedUserListType.HeaderItem | leftView |
listItem | () -> GroupBannedUserListType.ListItem | rowView |
The following code demonstrates how to replace the view items using headerItem
. All other {Component}Item
s can be used in the same way.
Note : When you customize a parent view, customizations in the child views will not be applied. For example, if you customize the
titleView
in theheaderItem
, the customizations of thecoverImage
ortitleLabel
in the lower view items will not be applied.
Full customization
At this moment, this screen does not support entire customization.
DestinationViewBuilder
Sendbird Chat SwiftUI is designed to internally navigate from each view to its connected view. However, if you need to customize the destination view, you can do so by using the interface provided by the DestinationViewBuilder
.
DestinationViewBuilder method
Method | ViewBuilder type |
---|---|
inviteUserView | InviteUserViewBuilder |
The following code demonstrates how to replace the channel settings view connected from the channel view.
Note : If you've customized a child view of another view, you need to set the destination view for all the views from the top to the destination view.