我正在尝试使用基本单元格中的大文本制作表格。 表位于UIVIewController中,它实现了Delegate和DataSource。
这是我的ViewController:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let answers = ["Swift is a multi-paradigm, compiled programming language created by Apple Inc. for iOS, OS X, and watchOS development. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. Swift is intended to be more resilient to erroneous code than Objective-C, and also more concise. "]
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("basic", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel?.numberOfLines = 0
cell.textLabel?.lineBreakMode = .ByWordWrapping
cell.textLabel?.text = answers[indexPath.row]
return cell
}
}
我设置了.numberOfLines = 0
,但结果是,我只有两行:
我该如何解决?我听说在IOS 8中它比在IOS中更容易< 8,我不需要tableView.heightForRowAtIndexPath
。但如果我需要,如何更简单地实现它?
也许我需要为我的手机设置约束?但它是一个基本的细胞。
答案 0 :(得分:6)
如果您希望您的单元格根据其内容自动更改大小,那么您应该在堆栈溢出时查看这个非常好的answer to a similar question。
来自上述帖子:
对于iOS 8,Apple已经内置了以前必须在iOS 8之前实现的大部分工作。为了使自定义单元格机制能够工作,您必须首先在表格上设置rowHeight属性查看常量UITableViewAutomaticDimension。然后,您只需通过将表视图的estimatedRowHeight属性设置为非零值来启用行高估计,例如:
self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.estimatedRowHeight = 44.0; // set to whatever your "average" cell height is