Overview
GroupDetailsViewController displays comprehensive group information and actions:
- Group Info — Name, icon, description, and member count
- Actions — Join, leave, or delete group
- Member Management — View members, add members, view banned members
- Real-Time Updates — Reflects joins, leaves, bans, and ownership changes
Prerequisites
Before implementing group details, ensure you have:- Completed Getting Started setup
- CometChat UIKit v5+ installed via CocoaPods or Swift Package Manager
- Valid CometChat App ID, Region, and Auth Key
- User logged in with
CometChatUIKit.login() - Navigation controller (
UINavigationController) configured
Components
| Component | Description |
|---|---|
CometChatGroup | Renders group avatar, name, and metadata |
GroupActionView | Custom view for action buttons (view/add/banned members) |
CometChatMessagesViewController | Opens group chat interface when “Chat” is tapped |
CometChat.joinGroup() | Joins public or password-protected groups |
CometChat.leaveGroup() | Leaves the current group |
CometChat.deleteGroup() | Deletes and exits the group (owners only) |
CometChatGroupMembers | Lists current group members |
CometChatGroupDelegate | Receives real-time group events |
Integration Steps
Step 1: Present the Group Details Screen
PushGroupDetailsViewController for a selected group:
HomeScreenViewController.swift
Step 2: Set Up the UI
Configure scroll view, header, and action views:GroupDetailsViewController.swift
Step 3: Enable Group Action Buttons
Wire up view/add/banned members actions:GroupDetailsViewController.swift
Step 4: Handle Leave and Delete Actions
Provide ownership-aware leave/delete flows:GroupDetailsViewController.swift
Step 5: Listen for Group Events
Update UI on member joins, leaves, bans, and ownership changes:GroupDetailsViewController.swift
Customization Options
Header Styling
UseCometChatTheme to customize fonts, colors, and borders:
Button Labels
Localize or rebrand action texts:Avatar Placeholder
Provide fallback initials or default images:Edge Cases
| Scenario | Handling |
|---|---|
| Private/Protected groups | Prompt for a password before joining |
| Already a member | Hide or disable Join button |
| Empty group | Show an empty state when no members |
| Owner restrictions | Disable Delete for non-owners |
Error Handling
| Error Type | Solution |
|---|---|
| Join failures | Show alert on network or permission errors |
| Leave/Delete errors | Display retry prompt on API failure |
| Event errors | Log and notify user if group events fail |
Feature Matrix
| Feature | Component / Method | File(s) |
|---|---|---|
| Show group details | GroupDetailsViewController | GroupDetailsViewController.swift |
| View group members | viewMembersView action | GroupDetailsViewController.swift |
| Add members | addMembersView action | GroupDetailsViewController.swift |
| Ban members | bannedMembersView action | GroupDetailsViewController.swift |
| Join group | CometChat.joinGroup() | GroupDetailsViewController.swift |
| Leave group | showLeaveGroupAlert() | GroupDetailsViewController.swift |
| Delete group | showDeleteGroupAlert() | GroupDetailsViewController.swift |
| Real-time updates | CometChatGroupDelegate | GroupDetailsViewController.swift |
Related Components
- Groups - Display group list
- Group Members - Display group member list
- Events - Listen for chat events
Sample App
Explore the complete Group Details flow
UIKit Source
Browse the Group Details implementation
Related Guides
Groups
Display and manage group list
Group Members
View and manage group membership
Events
Handle group and membership events