2017-05-03 6 views
0

私はCollectionViewを持っており、そのセルのサイズを動的に設定しています。ここに問題があります:私は 'ホーム'ボタンを押して、ゲームを再び入力すると、CollectionViewの亀裂。すべてのセルがひどいように見える、彼らは間違ったサイズを持って、間違った場所に表示されます。そして、それはiPadsでのみ起こり、iPhone上で完全に動作します。ここ は、テーブルを作成するための私のコードです:iPadのエア-2でテストiPadsでホームボタンを押した後にCollectionViewがクラッシュする

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 

    } 

これは、テーブルには、常にのように見えるべきかです: Normal look

それは後にどのように見えるか

そして、これ私はHOMEを押して、ゲームに戻ります。 Wrong bullsh*t look

+0

セルのサイズを設定するコードを提供できますか? – Sergey

+0

いくつかのスクリーンショットを追加してください。 – Shmidt

+0

質問の新しい情報を確認してください。 – Alexander

答えて

0

viewdidload()でセルのサイズを設定しましたか? その場合は、viewdidappear()でそれを実行してみてください。

+1

いいえ、この方法でセルのサイズを変更します。 ** func collectionView(コレクションビュー:UICollectionView、cellForItemAt indexPath:IndexPath) - > UICollectionViewCell ** – Alexander

0

私は解決策を見つけました。オリエンテーションのせいだった。私は風景の方向を無効にし、すべてが完全に動作するようになりました。

関連する問題