Ios 如何在swift中创建新闻提要UI

Ios 如何在swift中创建新闻提要UI,ios,iphone,swift,uitableview,uicollectionview,Ios,Iphone,Swift,Uitableview,Uicollectionview,我已经创建了一个新闻提要应用程序。我从服务器上获取新闻数据。在“我的数据”中,可通过文本或带有文本的图像获取新闻(与Facebook提要相同)。 我以前曾成功地在UITableviewCell中创建包含文本内容的图像,但我多次尝试在UITableviewCell文本或包含文本的图像中创建多个单元格,第一个单元格仅为文本,第二个单元格为包含文本的图像。如何创建,我知道我不是解释正确的方式,但我想创建一个与Facebook提要(时间线)相同的 以及创建此视图的数组或字典的类型。文本视图中的某些单元格

我已经创建了一个新闻提要应用程序。我从服务器上获取新闻数据。在“我的数据”中,可通过文本或带有文本的图像获取新闻(与Facebook提要相同)。 我以前曾成功地在UITableviewCell中创建包含文本内容的图像,但我多次尝试在UITableviewCell文本或包含文本的图像中创建多个单元格,第一个单元格仅为文本,第二个单元格为包含文本的图像。如何创建,我知道我不是解释正确的方式,但我想创建一个与Facebook提要(时间线)相同的

以及创建此视图的数组或字典的类型。文本视图中的某些单元格以及图像和文本视图中的某些单元格。如何创建动态单元。我很困惑。如何创建新闻提要ui以及在哪种类型的数组中创建此新闻提要。请帮忙。我是IOS新手。多谢各位

请找到附件并查看。我想喜欢这个

仅文本视图

图像和文本视图


根据您的要求创建一个自定义tableViewCell,其中将包含textView和imageView。并通过

对于不同类型的数据类型,必须创建键值对的字典(或字典数组)。请访问

如果有两种类型的提要,一种带有图像,另一种没有图像,则可以创建两个不同的自定义单元格并相应地使用它们

另一个选择是通过创建一个约束的出口使imageView的高度为零。但我不支持这个,应该谨慎使用

最好创建一个包含字典的数组。 若并没有图像,只需将“图像”的值设置为空字符串

    var dict1:[String:String] = ["text":"my text....","image":"imagename.png"]
    var dict2: [String:String] = ["text": "my text...", "image":""]
    var myDictArray = [[String:String]]()
    myDictArray.append(dict1)
    myDictArray.append(dict2)

将它们放入uitableviewcell时,只需检查字典值中的键“image”。如果不是空的,则加载第一个自定义单元格(带imageView和textView),否则加载第二个自定义单元格(不带imageView)

创建一个自定义tableViewCell,该单元格将根据您的要求包含textView和imageView。并通过

对于不同类型的数据类型,必须创建键值对的字典(或字典数组)。请访问

如果有两种类型的提要,一种带有图像,另一种没有图像,则可以创建两个不同的自定义单元格并相应地使用它们

另一个选择是通过创建一个约束的出口使imageView的高度为零。但我不支持这个,应该谨慎使用

最好创建一个包含字典的数组。 若并没有图像,只需将“图像”的值设置为空字符串

    var dict1:[String:String] = ["text":"my text....","image":"imagename.png"]
    var dict2: [String:String] = ["text": "my text...", "image":""]
    var myDictArray = [[String:String]]()
    myDictArray.append(dict1)
    myDictArray.append(dict2)

将它们放入uitableviewcell时,只需检查字典值中的键“image”。如果它不是空的,则加载第一个自定义单元格(带imageView和textView),否则加载第二个自定义单元格(不带imageView)

添加
UILabel
UIImageView
,就像您通常在单元格中那样。(如果只显示文本,我建议使用
UILabel
而不是
UITextView
,如果我错了,请纠正我)。设置标签的约束,使其具有前导、顶部和尾部。将其
numberOfLines
设置为0,将内容模式设置为
wordwrap
。现在,对于您的
ui图像视图
,在
ui标签
上添加一个顶部。超级视图的前导、尾随和底部。现在还要为
UIImageView
设置一个最小值的高度约束。在单元格内为此约束创建一个
IBOutlet

现在,在
UIViewController
中设置
tableView.estimatedRowHeight
属性以及
tableView.rowHeight=UITableViewAutomaticDimensions
。现在,在
单元格内,每当单元格包含图像时,请将高度约束设置为最小值,否则将其设置为0

编辑:


添加一个
UILabel
UIImageView
,就像通常在单元格中一样。(如果只显示文本,我建议使用
UILabel
而不是
UITextView
,如果我错了,请纠正我)。设置标签的约束,使其具有前导、顶部和尾部。将其
numberOfLines
设置为0,将内容模式设置为
wordwrap
。现在,对于您的
ui图像视图
,在
ui标签
上添加一个顶部。超级视图的前导、尾随和底部。现在还要为
UIImageView
设置一个最小值的高度约束。在单元格内为此约束创建一个
IBOutlet

现在,在
UIViewController
中设置
tableView.estimatedRowHeight
属性以及
tableView.rowHeight=UITableViewAutomaticDimensions
。现在,在
单元格内,每当单元格包含图像时,请将高度约束设置为最小值,否则将其设置为0

编辑:


感谢回复,我还创建了自定义tableviewCell,但字典数组在tableview中重新加载,此时有些单元格图像不可用,只有文本可用。此条件将如何管理图像视图隐藏或不隐藏图像中的所有可用单元格不是必需的。这两个条件都是如何放置占位符图像,并在下载后用您的图像替换。不,不,我想要图像在我的某些源中不可用,因此条件是如何隐藏图像视图我想要facebook时间线视图,一些手机在线文本显示和一些手机图像显示文本谢谢回复,我还创建了自定义tableviewCell,但字典数组在tableview中重新加载,此时有些单元格图像不可用,只有文本可用。此条件将如何管理图像视图隐藏或不隐藏图像中的所有可用单元格不是必需的。这两个条件都是如何放置占位符图像,并在下载后用您的图像替换。否否我想要图像在我的某些源中不可用,因此条件是如何隐藏图像视图我想要facebook timel