以下の挙動を実装したいと考えています。
①遷移元の画面で「保存」ボタンを押して、データを保存する。
②データの一覧画面(UICollectionViewを貼り付けたUIViewController)が立ち上がる。
③②の画面内の、保存されたデータのセルがアニメーションする。
④②の画面が閉じる。
※②〜④は自動的に実行される。
そのために、②の画面(遷移先の画面)に下記のようなコードを書きました。
override func viewDidLoad() { super.viewDidLoad() myDataCollectionView.delegate = self myDataCollectionView.dataSource = self if autoClose { let indexPath = IndexPath(row: rowNumberAtFirst, section: 0) let cell = myDataCollectionView.cellForItem(at: indexPath) let effectView = UIVisualEffectView() effectView.frame = cell!.frame myDataCollectionView.addSubview(effectView) effectView.alpha = 0 //セルにエフェクトをかける処理 //画面を閉じる処理 } }
※コード内のautoCloseは自動的に画面を閉じるかどうかを判定するためのフラグです。
これだと、cell が nil になってクラッシュします。
おそらく、このタイミングでは、UIViewController に貼り付けた UICollectionView の中身まで読み込まれていないことが原因ではないかと推測しています。
ということで、UIViewController に貼り付けた UICollectionView が読み込まれたか否かを判定する方法を教えてください。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。