【问题标题】:exc_arithmetic error with simulator only, assigning UICollectionView flowlayout仅模拟器的 exc_arithmetic 错误,分配 UICollectionView 流程布局
【发布时间】:2015-08-30 23:19:52
【问题描述】:

我尝试将UICollectionViewFlowLayout 分配给UICollectionView,它在物理设备上运行良好,但模拟器中断,并带有信号:

EXC_ARITHMETIC(code=EXC_i386_DIV, subcode=0x0)

这只发生在模拟器上,据我了解,这通常是除以 0 错误,但我看不出这对我的实现有什么可能

代码:

let flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()

flowLayout.itemSize =  CGSizeMake(self.view.bounds.width * 0.67,
                                      self.collectionView!.frame.height - 10)

flowLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal

self.collectionView!.collectionViewLayout = flowLayout

此外,我在这一行得到信号:self.collectionView!.collectionViewLayout = flowLayout

视图边界为:宽度:277.38 高度:75.0

任何帮助或替代方法将不胜感激!

【问题讨论】:

  • self.view.bounds.width 0?
  • @jtbandes 没有打印出尺寸给 WIDTH: 277.38 HEIGHT: 75.0

标签: ios swift uicollectionview ios-simulator xcode7-beta5


【解决方案1】:

帮忙打电话

重新加载数据

之前

setCollectionViewLayout

【讨论】:

  • 也为我工作,很高兴知道为什么。
【解决方案2】:

我在处理的旧代码上遇到了完全相同的问题,而且我似乎是从错误的方法调用此代码。我将它移到更合适的位置,viewDidLoad 或 init 并且它可以工作。

【讨论】:

  • 听起来只是解决方案的一半。您应该可以随时更改 collectionViewLayout。
猜你喜欢
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
相关资源
最近更新 更多