Fry*_*Fry 2 objective-c uitableview ios ios8
我有一个UITableView自定义UITableViewCell,我indentationLevel用来移动内容到右边.在iOS 7中一切正常,但在iOS 8中,当我设置indentationLevel > 0表格视图时,不会渲染单元格和界面冻结.唯一的解决方案是退出应用程序.如果我继续调试,我可以看到应用程序使用的内存不断增加,CPU处于99%.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CustomCellReuseID";
TreeTableViewCell *cell = (TreeTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.delegate = self;
FolderSection *aFolderSection = self.dataSourceArray[indexPath.section];
FolderNode *aFolderNode = (FolderNode *)aFolderSection.folderNodes[indexPath.row];
cell.indentationWidth = 20.0f;
cell.indentationLevel = aFolderNode.level;
// set up the cell
return cell;
}
Run Code Online (Sandbox Code Playgroud)
想法?
在调用缩进配置的方法之前,iOS> 6似乎奠定了Views.将CustomCell.swift中的代码更改为:
override func awakeFromNib() {
super.awakeFromNib()
self.indentationWidth = 30.0
self.indentationLevel = 0
}
override func layoutSubviews() {
super.layoutSubviews()
let indentPoints = CGFloat(self.indentationLevel) * self.indentationWidth
self.contentView.frame = CGRectMake(indentPoints, self.contentView.frame.origin.y,self.contentView.frame.size.width - indentPoints,self.contentView.frame.size.height)
}
Run Code Online (Sandbox Code Playgroud)
适当地打电话给他们.然后在你的cellForRowAtIndexPath中:
...
cell.indentationLevel = 1 // Your indentation level
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3520 次 |
| 最近记录: |