tencent cloud

Feedback

TUIConversation

Last updated: 2024-10-30 11:10:37
    The following will show you how to customize the UI components in conversation List.

    Set the conversation list cell background color

    API Functionality: Set the conversation list cell and pinned cell background color.
    API prototype:
    // TUIConversationConfig.h
    /**
    * Background color of conversation list.
    */
    @property (nonatomic, strong) UIColor *listBackgroundColor;
    /**
    * Background color of cell in conversation list.
    * This configuration takes effect in all cells.
    */
    @property (nonatomic, strong) UIColor *cellBackgroundColor;
    /**
    * Background color of pinned cell in conversation list.
    * This configuration takes effect in all pinned cells.
    */
    @property (nonatomic, strong) UIColor *pinnedCellBackgroundColor;
    Sample code:
    // When to call: Before initializing conversation list.
    [TUIConversationConfig sharedConfig].listBackgroundColor = [UIColor tui_colorWithHex:@"#FFFFF0"];
    [TUIConversationConfig sharedConfig].cellBackgroundColor = [UIColor tui_colorWithHex:@"#F0FFF0"];
    [TUIConversationConfig sharedConfig].pinnedCellBackgroundColor = [UIColor tui_colorWithHex:@"#E1FFFF"];
    Result:
    Set Background Color
    Default
    
    
    
    
    
    

    Set the conversation list cell font

    API Functionality: Set the font of the title, subtitle, and time text on the conversation list cells. Applies to all cells.
    API prototype:
    // TUIConversationConfig.h
    /**
    * Font of title label of cell in conversation list.
    * This configuration takes effect in all cells.
    */
    @property (nonatomic, strong) UIFont *cellTitleLabelFont;
    /**
    * Font of subtitle label of cell in conversation list.
    * This configuration takes effect in all cells.
    */
    @property (nonatomic, strong) UIFont *cellSubtitleLabelFont;
    /**
    * Font of time label of cell in conversation list.
    * This configuration takes effect in all cells.
    */
    @property (nonatomic, strong) UIFont *cellTimeLabelFont;
    Sample code:
    // When to call: Before initializing conversation list.
    [TUIConversationConfig sharedConfig].cellTitleLabelFont = [UIFont systemFontOfSize:18];
    [TUIConversationConfig sharedConfig].cellSubtitleLabelFont = [UIFont systemFontOfSize:14];
    [TUIConversationConfig sharedConfig].cellTimeLabelFont = [UIFont systemFontOfSize:16];
    Result:
    Set Font
    Default
    
    
    
    
    
    

    Show unread red dot

    API Functionality: Display the unread message red dot icon on the cell. Applies to all cells.
    API prototype:
    // TUIConversationConfig.h
    /**
    * Display unread count icon in each conversation cell.
    * The default value is YES.
    */
    @property(nonatomic, assign) BOOL showCellUnreadCount;
    Sample code:
    // When to call: Before initializing conversation list.
    [TUIConversationConfig sharedConfig].showCellUnreadCount = NO;
    Result:
    Do not display the unread red dot on the conversation cell
    Default
    
    
    
    
    
    

    Show online status

    API Functionality: Display an online status icon on the user's avatar in the cell. Applies to all cells.
    API prototype:
    // TUIConversationConfig.h
    /**
    * Display user's online status icon in conversation and contact list.
    * The default value is NO.
    */
    @property(nonatomic, assign) BOOL showUserOnlineStatusIcon;
    Sample code:
    // When to call: Before initializing conversation list.
    [TUIConversationConfig sharedConfig].showUserOnlineStatusIcon = YES;
    Result:
    Show online status
    Default
    
    
    
    
    
    

    Customize the more menu options

    API Functionality: Hide more menu options for the conversation and add options to the more menu for the conversation. Applies to specified conversations.
    API prototype:
    // TUIConversationConfig.h
    @protocol TUIConversationConfigDataSource <NSObject>
    /**
    * Implement this method to hide items in more menu.
    */
    - (NSInteger)conversationShouldHideItemsInMoreMenu:(TUIConversationCellData *)data;
    /**
    * Implement this method to add new items.
    */
    - (NSArray *)conversationShouldAddNewItemsToMoreMenu:(TUIConversationCellData *)data;
    @end
    Sample code:
    // When to call: Before initializing conversation list.
    [TUIConversationConfig sharedConfig].moreMenuDataSource = self;
    - (NSInteger)conversationShouldHideItemsInMoreMenu:(TUIConversationCellData *)data {
    if (data.groupID != nil) {
    return TUIConversationItemInMoreMenu_Hide | TUIConversationItemInMoreMenu_Pin;
    }
    return 0;
    }
    - (NSArray *)conversationShouldAddNewItemsToMoreMenu:(TUIConversationCellData *)data {
    if (data.groupID != nil) {
    UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"action1"
    style:UIAlertActionStyleDefault
    handler:^(UIAlertAction *_Nonnull action) {
    NSLog(@"action1 is clicked");
    }];
    UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"action2"
    style:UIAlertActionStyleDefault
    handler:^(UIAlertAction *_Nonnull action) {
    NSLog(@"action2 is clicked");
    }];
    return @[action1, action2];
    }
    return nil;
    }
    Result:
    Hide and Add Options
    Default
    
    
    

    
    
    

    
    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support