由于某些原因,在
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()中.希望这提供一些用途.我花了一段时间试图弄清楚.