uitableview - rectForRowAtIndexPath 不适用于 iOS8

标签 uitableview ios8 xcode6

我有一个项目使用 rectForRowAtIndexPath 从单元格获取帧,但是当我在 iOS8 模拟器上构建时,帧返回 0,但在 iOS7 模拟器中它工作正常。

有人遇到过同样的问题吗?

谢谢!

最佳答案

如果 tableView 没有完成加载,cell 不可见,则 rectForRowAtIndexPath 返回 0。

尝试延迟 0.1 秒或更长时间,像这样:

    [self.tableView reloadData];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    CGRect cellFrame = [tableView rectForRowAtIndexPath:indexPath];
    }];;
});

关于uitableview - rectForRowAtIndexPath 不适用于 iOS8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25997711/

相关文章:

ios - 为 UITableView 设置背景图像会占用内存并卡住应用程序

javascript - 屏幕解锁后如何在 iOS8 网络应用程序上恢复 JavaScript 计时器?

iphone - View 中的所有 UITextField

ipad - 通过电子邮件打开 IOS 应用程序

ios - 如何在 Xcode 6 的设计时做自定义字体?

ios - 无法将类型 'int' 的值分配给类型 'String?' 的值

ios - UISearchController 导致黑屏 Swift 2.0

ios - Swift - 管理任务以填充 UITableView

storyboard - Storyboard Xcode 6 中的自适应转场是否已弃用?

uitableview - 无法在 UITableView 编辑模式下删除按钮