When a user clicks on the user profile avatar at the post creator area, UIKit will open User profile page
However, you can intercept the event and define your own logic following the example below.
To customize message cell layouts, please follow these instructions:
Create a subclass of UITableViewCell
and conform it to AmityMessageCellProtocol
To bind message data to UI, implement display(message:)
. You can also implement height(for message:boundingWidth:)
to specify the cell height. We've included some examples below for static-height calculation and dynamic-height calculation as reference
Subclass AmityEventHandler,
and override its default functions channelDidTap(from:channelId:)
and conform to AmityMessageListDataSource
.
4. Assign a class instance through a set function of AmityUIKitManager
Static-Height Cell Layout
You can use static-height cell layout types for static content, where the cell height is fixed and will not be scaled regardless of the data being received.
Below is an example of how you can configure a static-height cell layout. In this example, we're assuming that the image message is a class named StaticHeightMessageCell
.
Dynamic-Height Cell Layout
You can use dynamic-height cell layout when you require your cell height to expand dynamically according to the data (e.g. label expands upon strings).
Dynamic-height cell layouts require more complexity in height calculation. Let's look at a text message as an example, where the height of the cell needs to expand dynamically to display the full content.
There are many pages and actions on AmityUIKit. Pages can be nested inside others and it would be hard for overriding events on the nested pages. In order to solve this problem, we provide EkoEventHandler
which is a behavior controller for actions that happen in UIKit.
Event | Parameter | Condition |
communityDidTap | communityId | community avatar or community display name is tapped |
userDidTap | userId | user avatar or user display name is tapped |
editUserDidTap | userId | edit user button is tapped |
postDidtap | postId | post or comment on social feed is tapped |
editPostDidTap | postId | edit post button is tapped |
channelDidTap | channelId | user channel list or user chat button is tapped |
communityChannelDidTap | channelId | n/a |