我有一个CollectionView,我动态设置其单元格的大小。问题出在这里:当我点击“主页”按钮并再次进入游戏时,CollectionView就会出现问题。所有的细胞都看起来很糟糕,它们的尺寸错误并且出现在错误的位置。它只在iPad上发生,在iPhone上完美运行。 这是我创建表的代码:
if collectionView == tableCollectionView{
let cell:TableViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "letter_cell", for: indexPath) as! TableViewCell
let size = Int(collectionView.frame.size.width) / (lettersCountInRow + 1);
let j = indexPath.row
let i = indexPath.section
let letter = guessLogic!.letters[i * lettersCountInRow + j]
let imageName = String(describing: letter)
let vertical_shift = (Int(collectionView.frame.size.height) - size * 2) / 2
let pad = Double(size) * 0.1;
let start_x = Int(collectionView.frame.size.width) - size*7 - Int(pad) * lettersCountInRow;
cell.letterImage.image = UIImage(named: imageName)
cell.frame = CGRect(x:start_x + j * Int(pad) + j * size, y: i * size + vertical_shift + Int(pad), width: size, height: size)
return cell
}
在iPad Air-2上测试
这就是表格总是应该是这样的: Normal look
这是我按HOME并返回游戏后的样子: Wrong bullsh*t look
答案 0 :(得分:0)
你在viewdidload()中设置了单元格的大小吗? 在这种情况下,尝试在viewdidappear()中查看。
答案 1 :(得分:0)
好吧,我找到了解决方案。这是因为方向。我禁用了横向方向,一切都开始完美。