У меня странная проблема, связанная с UICollectionView
сменой кадра.Он отлично работает при непосредственном запуске на устройстве или симуляторе через XCode.Но это не меняет фрейм, когда я загружаю ту же сборку из Testflight.
Ниже приведен фрагмент кода, который меняет фрейм:
DispatchQueue.main.async {
let numberOfCellsPerRow: Int = Int(self.bounds.size.width)/Int(self.DENOM_TILE_WIDTH)
let numberOfRows = CGFloat( CGFloat(self.denominationsArray.count)/CGFloat(numberOfCellsPerRow)).rounded(.up)
let finalHeight = numberOfRows * self.DENOM_TILE_HEIGHT
let origFrame = self.collectionView.frame
self.collectionView.frame = CGRect(x: origFrame.origin.x, y: origFrame.origin.y, width: origFrame.size.width, height: finalHeight)
//self.setNeedsLayout()
self.setNeedsLayout()
}
Обратите внимание, что UICollectionView
добавляется программно и не имеет никаких ограничений макета.