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

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

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

在我的表视图单元格中,我在stackView中有一个textView和一个UIImageView,我可以发送各自的数据类型。如果没有文本,我隐藏TextView。如果没有图像,我隐藏图像。

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

从后端知道发送了什么类型的数据,我怎么能以编程方式添加容器视图,我在那里进行设置?我正在考虑将textView作为默认值,并将一个空视图和内部cellForRowAt添加所需的元素。

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.