Skip to content

Support UI Components

Ryan Matthew Pierson edited this page Jun 22, 2020 · 2 revisions

This page summarizes the out-of-the-box user interface (UI) components included with the Community Android SDK's lia-ui module. For an overview of our API, see Community iOS SDK API reference.

About the view controllers

The Support UI package includes the following view controllers:

  • LiProfieViewController - manages the UI for the User Profile view
  • LiBoardfViewController - manages the UI of topic messages when viewing a board screen
  • LiBaseNewMessageViewController - the base view controller for LiNewMessageViewController and LiReplyViewController
  • LiNewMessageViewController - manages the UI for the New Message screen. Inherits from BaseNewMessageViewController
  • LiReplyViewController - manages the UI for the Reply screen. Inherits from BaseNewMessageViewController
  • LiBaseBrowseViewController - the base view controller for screens browse boards and categories
  • LiBrowseViewController - manages the UI for browsing the Community structure
  • LiChooseBoardViewController - manages the UI for browsing the Community structure to select a board in which to post a new message
  • LiTopicListViewController - manages the UI for topic message lists
  • LiMessageViewController - manages the UI for a message view screen
  • LiHomeViewController - manages the UI for a Community Home screen where users can see latest posts, start a topic, and browse the Community structure

Understanding table components

The Community iOS SDK UI includes several table views that display Community categories, boards, and messages.

We provide several classes that create different portions of a table view.

Table Cell Class Description
LiTopicTableViewCell Creates a table cell to display a topic message including author login, author avatar, subject, relative post date/time, kudo count, and a mechanism to open the message thread to see topic and all replies.

Uses LiTopicCellModel.
LiMessageDetailTableViewHeader Used in tables that display a message thread. Creates a header cell Accepted Solutions or Discussions (posts in a thread not marked as a solution).

No cell models required.
LiMessageDetailTableViewCell Used in tables that display a message thread. Creates a table cell to display message details including body, author login, author avatar, kudo count, and accepted solution status (if applicable to the discussion style of the message) for the topic message. LiMessageRepliesTableViewCell is used to show all the replies to the original cell.

Uses LiMessageDetailTableViewCellModel.
LiMessageRepliesTableViewCell Used in tables that display a message thread to display replies to the original topic.

Uses LiMessageDetailTableViewCellModel.
LiPostInTableViewCell Used when posting a new message. Creates a table cell that displays the board in which a message is posted or will be posted. Includes a mechanism to choose a board, if needed.

Uses LiPostInTableViewCellModel
LiTopicNameTableViewCell Used when posting or editing a message. Creates a table cell to enter or edit the subject line of a topic message.

Uses LiTopicNameTableViewCellModel.
LiPostDetailsTableViewCell Used when composing a new message or editing an existing message.

No cell model required.
LiImageTableViewCell Used when composing a new message or editing an existing message. Creates a table cell that displays an image uploaded while creating or editing a message.

No cell models required.
LiBrowseTableViewCell Used when browsing the Community structure.

Uses LiBrowseTableViewCellModel.
LiProfileTableViewCell Used in a user's profile screen. Creates a table cell that contains the user's avatar and login name.

Uses ProfileTableViewCellModel.

Table cells in a Community iOS app UI

This section shows our table view cell classes in different iOS app screens.

Topic table cells in a topic message list

This screen is an example of a Home screen for a Community app. It shows recent topics posted in user-specific and community-wide topic message lists.

Topic Table View Cell

Topic and Message Detail Table cells in a Message view

This example screen shows a message view that shows a topic message and replies. Replies marked as an Accepted Solution appear in a separate table from general replies that have not been accepted as a solution. A header cell separates the different sections of the table.

Topic Table View Cell

Table cells in a Post Message screen

This example screen is used to post a new topic message in the community.

Topic Table View Cell

Table cells in a Profile screen

This example screen shows a user's profile. It includes basic Profile data (avatar and login name) along with recent topics posted by the user.

Topic Table View Cell