以编程方式在UITableViewCell底部添加UIView

问题描述 投票:1回答:1

我正在开发即时通讯应用。用户可以发送文本消息,为此,我正在自定义tableview单元格内使用UITextView。用户应该能够发送各种多媒体数据,例如图像,文档和视频。enter image description here

在我的表格视图单元格中,我在stackView中同时拥有textView和UIImageView,并且可以发送各种类型的数据。如果没有文本,我将隐藏TextView。如果没有图像,我将隐藏图像。

问题是:要扩展应用程序,我必须添加一个新的文档容器,另一个用于视频的容器,另一个用于音频文件的容器,并隐藏所有未添加数据的其他容器。这是一个垃圾解决方案,但这是我发现的唯一解决方案。

从后端知道要发送什么样的数据,如何以编程方式添加一个容器视图,以便在其中进行设置?我正在考虑将textView设置为默认值,并在cellForRowAt内部添加一个空的View,只需添加所需的元素。

ios swift uitableview uiimageview chat
1个回答
1
投票

我将尝试通过检查条件来创建几个要在cellForRowAt中出队的单元格,例如:

    if userPost.images != nil {
                let cell = tableView.dequeueReusableCell(withReuseIdentifier: "Identifier1", for: indexPath) as! UITableViewCell
return cell
            } else {
                let cell = tableView.dequeueReusableCell(withReuseIdentifier: "Identifier2", for: indexPath) as! UITableViewCell
                return cell
            }

使用此解决方案,您可以创建一个非常适合用户发送给另一个用户的数据的单元格。只需检查您想要的任何条件,然后返回相应的单元格即可。

希望它有所帮助!

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.