热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS8自动高度单元在第一次加载时不正确的高度

如何解决《iOS8自动高度单元在第一次加载时不正确的高度》经验,为你挑选了2个好方法。

我有一个iOS 8应用程序,我有一个搜索结果页面,每个单元格根据某个标签的高度进行自动调整.但是,在视图首次加载后,显示的单元格不会自动调整大小.向下滚动后面的单元格大小正确.我在故事板中连接了自动布局约束.我在viewDidLoad中有以下代码.

- (void)viewDidLoad {
    [super viewDidLoad];

    //configure tableView so that we use autolayout enabled row heights
    self.tableView.estimatedRowHeight = 68;
    self.tableView.rowHeight = UITableViewAutomaticDimension;
}

还有其他人经历过这个吗?



1> rdelmar..:

是的,我在故事板中制作视图和约束时看到了同样的问题(但没有添加代码添加视图).我通过在自定义单元类中添加此代码来修复此问题,

-(void)didMoveToSuperview { 
    [self layoutIfNeeded];
}

这可能会去其他地方,但这种方法似乎只被调用一次,所以我认为这是一个很好的地方.



2> Sihad Begovi..:

rdelmar的答案对我不起作用.

我所做的是添加了这段代码:

[tableView setNeedsLayout];
[tableView layoutIfNeeded];
[tableView reloadData];

获取数据并[tableView reloadData]调用第一个数据后,在我的情况下,它位于viewDidLoad我的View Controller的方法中.

所以结果代码是:

NSArray *fetchedData = ...

[tableView reloadData]; //Fist table reload
[tableView setNeedsLayout];
[tableView layoutIfNeeded];
[tableView reloadData]; //Second table reload

这个答案来自这里:http://useyourloaf.com/blog/self-sizing-table-view-cells.html#comment-1783719287


推荐阅读
author-avatar
galsu99
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有