我正在使用Xcode制作应用。使用自动布局,我有一个容器视图中包含的tableview,它是嵌入式导航控制器的视图控制器的一部分。
此表格视图是我的内容页面,因此单个tableview单元格会导致另一个tableview,其中包含我想要显示的大量信息。
我添加了UIlabel,其中包含一段单词到每个tableview单元格,并将约束设置为相应的tableview单元格。
在故事板中,它看起来不错,必须能够看到所有段落。我已将该行设置为0,并自动换行。
当我用4s模拟器运行程序时,表格视图单元格不显示整个段落,而只是表示" ..."在每个段落的末尾。
如何设置这样的设置,使得tableview单元格在自动换行后根据UI标签自行调整,给出一定尺寸的手机屏幕尺寸?
PS:我是SWIFT编程新手,感谢您抽出宝贵时间帮助我。
答案 0 :(得分:0)
你做到了吗?:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
这是自定义表格视图单元格所必需的。还要确保以下事项:
a)UILabel
的行数设置为0
b)表格视图单元格中的自动布局系统是正确的 - 所有视图都固定在所有侧面,自动布局可以准确地确定单元格的高度。
c)同时做tableView.estimatedRowHeight = 75
(或您的估计身高)以提高效率。
答案 1 :(得分:0)
在viewDidLoad方法和标签行数0中添加这两行,不要给出任何高度。
func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = 44.0
tableView.rowHeight = UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell
//cell.customTexLabel Number 0f lines 0 and dont give height contrains just Leading,Trailing,TOP and Bottom.
cell.customTextLable?.text = "Here index starts from 0 which means first element can be accessed using index as 0, second element can be accessed using index as 1 and so on. Let's check following example to create, initialize and access arrays:Here index starts from 0 which means first element can be accessed using index as 0, second element can be accessed using index as 1 and so on. Let's check following example to create, initialize and access arrays:Here index starts from 0 which means first element can be accessed using index as 0, second element can be accessed using index as 1 and so on. Let's check following example to create, initialize and access arrays:"
return cell
}
答案 2 :(得分:0)
您好@Daniel您可以在这里学习如何创建自我大小调整单元格是自定义动态单元格的演示教程
http://developerclouds.com/2016/03/23/table-view-custom-cell-with-self-sizing/