0

私は絶対に奇妙な種類の問題に遭遇しました。私はまだそれを修正する方法がわかりません。これは、ほぼ2日間、休憩なしで(食べる、寝る、コーヒーを飲む、喫煙することを除いて)取り組んできました。

私が持っているもの:

ビューコントローラのUIScrollView内部に、特定の数のテキストフィールドとを含むものがありUICollectionViewます。ボタンを使用して、コレクションビューに新しいデータを追加するための別のビューコントローラーを開きます。新しいデータアイテムが追加された後、最初のView Controllerに戻り、コンテンツに合わせて両方のサイズを変更するようinvalidateIntrinsicContentsizeに、UIScrollViewとを呼び出しUICollectionViewます(Autolayoutを使用して、両方にコンテンツをハグさせます)。どちらのビューでも、コンテンツにうまく適合するようにこれらのメソッドを実装しましたが、この部分は完全に正常に機能します。

私の問題は何ですか:

UICollectionView上記の方法でにデータを追加し、ランドスケープモードの場合、問題が発生します。最初のView Controllerに戻り、固有のコンテンツサイズを更新した後、コンテンツが UICollectionView 置き換えられます。つまり、データ追加ビューに切り替える前のコンテンツ内のスクロール位置がUIScrollView、固定コンテンツオフセットのようなものになります。ここで上にスクロールすると、データを追加するView Controllerに切り替える前に、コンテンツの最大位置にスクロールして到達できます。

写真(誰もがそれを愛している):

その状況を説明するのがどういうわけか難しいことを説明するために、私は2枚の写真を追加しました。赤はスクロールビューのコンテンツ領域全体であり、濃い緑はコンテンツであり、両方が重なっている色はオリーブ色です。の表示部分はUIScrollView、強調表示された境界線の領域に表示されます。

データを更新する前のコンテンツは、次の場所にあります。

普通
(出典:grubbrother.com

データを更新してUIを更新した後、コンテンツは以前のスクロール位置に置き換えられます/ contentOffset

異常な
(出典:grubbrother.com

この奇妙なことで私を助けてください。残念ながら、締め切りが厳しく、プロジェクトを進める必要があります。それにもかかわらず、私はこれを解決する方法や、それを引き起こす可能性があるものさえも本当に知りません-私にはまったく手がかりがありません。

4

1 に答える 1