如何UITableViewCell在表格视图中使用s 内的自动布局,让每个单元格的内容和子视图确定行高(本身/自动),同时保持平滑的滚动性能?
考虑我在UILabel(动态文本的长行)中有以下文本:
由于外星军队的数量远远超过了团队,因此玩家必须利用后世界末日的世界,例如在垃圾箱,支柱,汽车,瓦砾和其他物体后面寻找掩护.
我想调整UILabel's高度,以便文本可以适应.我正在使用以下属性UILabel来使文本包装.
myUILabel.lineBreakMode = UILineBreakModeWordWrap;
myUILabel.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)
如果我没有朝着正确的方向前进,请告诉我.谢谢.
我有一个UITableView有五个静态单元格.我需要一个单元格的单元格高度自动调整其内容,这是一个UILabel.
有什么办法可以使用..
tableView.estimatedRowHeight = 42.0
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
..对于带有静态单元格的表格视图,或者这仅适用于具有动态原型单元格的表格视图?
(或者你会推荐其他任何方式吗?)
UITableView位于TableViewController中,嵌入到Container View中.
五个静态单元格彼此完全不同,仅在一个应用程序场景中使用,因此我没有看到动态原型和自定义单元格子类的重点.
我像这样更新tableview
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[_myTableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
我向UILabel添加了约束,如下所述:http: //www.appcoda.com/self-sizing-cells/
我试图在静态UITableViewCell多行中创建一个UILabel,具体取决于其内容的变化.
在该viewDidLoad方法中,我有代码初始化标签中的文本,紧接着是:
cellLabel.text = "Here is some text, but because of how long it is, it has to span a number of lines."
cellLabel.numberOfLines = 0
cellLabel.sizeToFit()
tableViewCell.textLabel?.sizeToFit()
tableViewCell.textLabel?.numberOfLines = 0
tableViewCell.textLabel?.lineBreakMode = .ByWordWrapping
Run Code Online (Sandbox Code Playgroud)
然后我试图计算行必须的高度,以容纳多行标签:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if (indexPath.section == 2 && indexPath.row == 0) {
return cellLabel.frame.height
}
else {
return 44
}
}
Run Code Online (Sandbox Code Playgroud)
但是,返回的是多行UITableViewCell,但文本的结尾被截断并且不显示.我会在返回definitionLabel.frame.height的末尾添加一个值,但标签的内容会有所不同.
有人可以让我知道如何使用Swift 2.0和iOS 9在静态UITableViewCell中使用多行UILabel.
注意:我添加了:
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
我正在使用一个基本的静态表视图单元格,默认情况下应用了约束.
ios ×4
uitableview ×3
autolayout ×1
cocoa-touch ×1
ios8 ×1
nsautolayout ×1
row-height ×1
swift ×1
swift2 ×1
uikit ×1
uilabel ×1