【发布时间】:2014-08-28 23:54:46
【问题描述】:
由于某种原因,在 xcode 6 中使用尺寸类时,我的单元格中的子视图宽度不正确。我有一个 UIImageView 带有自动布局的尺寸(常数: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,基于我在 iPhone 5S 上的 320x100 单元格。
一切都正确显示,但我想使用子视图的宽度对其他子视图进行一些计算。关于为什么会发生这种情况的任何想法?错误报告或按设计工作?
编辑:
此问题仅适用于最初加载的单元格。当细胞被重复使用时,问题不会出现。 println 重用单元格的输出:
w: 300.0 h: 80.0
【问题讨论】:
-
签入
willDisplayCell:atIndexPath:会不会出现同样的不一致? -
同样的结果,
w: 580.0 h: 80.0 -
搞笑...试试这些台词:
println("w: \(cell.contentView.frame.size.width)")、println("w: \(cell.contentView.subviews[0].frame.size.width)")。结果相当令人惊讶。 -
有趣。 contentView 返回适当大小的框架,但不返回子视图。
标签: ios uitableview swift xcode6