微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – UITableViewCell子视图在使用大小类时报告错误的宽度

由于某些原因,在 xcode 6中使用大小类时,我的单元格中的子视图的宽度不正确.我有一个UI ImageView与autolayout的大小(常数:10为顶部,L / R,底部).

当从tableView(tableView:UITableView !,cellForRowAtIndexPath indexPath:NSIndexPath!)调用以下命令时:

println("w: \(cell.mapSnapshotimageView.bounds.size.width) h: \(cell.mapSnapshotimageView.bounds.size.height)")

我总是得到:

w: 580.0 h: 80.0

即使它应该是w:300.0 h:80.0,基于我的320×100单元在iPhone 5S.

一切显示正确,但我想使用子视图的宽度进行其他子视图的一些计算.任何想法为什么会发生这种情况?错误报告或按设计工作?

编辑:

此问题仅适用于最初加载的单元.当细胞被重复使用时,问题本身不存在. println输出重用单元格:

w: 300.0 h: 80.0

解决方法

我也遇到这个问题.当您动态更改视图的大小时,子视图需要相应地更新其值.您在引用这些值之前更新它们.

我的工作是在更新值后引用它们.在这种情况下,它在viewDidAppear()中.希望这提供一些用途.我花了一段时间试图弄清楚.

原文地址:https://www.jb51.cc/iOS/329995.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐