iOS 10のメッセージ拡張機能のステッカーを動的に読み込もうとしています。これらのアイコンは正常に読み込まれました。しかし、彼らは適切にメッセージアプリの割合に制約されません。MSStickerBrowserViewステッカーがフレーム外に出る
メッセージエクステンションのコンパクトなビューには、フッターがあります。これはここに見ることができます:
これらのステッカーは、MSStickerBrowserViewを使用してMSStickerBrowserViewのサブビューを介してロードしています。私はnumberOfStickersとstickerBrowserViewのスーパークラスメソッドをオーバーライドしてイメージをロードします。
私が知ることから、MSStickerBrowserViewはUICollectionViewの単なるラッパーです。
ステッカーがロードされた後も、ヘッダーとフッターには制約がありません。私は以下の何を意味するかのGIF画像を添付しました:あなたが見ることができるように
は、コンパクトビューでステッカーの最後の行はフッターの下に行きます。したがって、拡大表示では、一番上の行のステッカーがヘッダーの下に移動します。
実験として同じ動的ステッカーシステムを実装しましたが、実際のUICollectionViewControllerとUICollectionView(MSStickerBrowserラッパーの代わりに)を使用して同じ効果が達成されました。さらに、カスタムレイアウトを作成しようとしましたが、同じ結果が得られました。
MSStickerBrowserViewは、すでにこの目的のために作成されたものです。しかし、UICollectionViewがもっとうまくフィットしていれば、私は変更するつもりです。
MSStickerBrowserViewControllerとViewを使用すると、UICollectionViewがプログラムで作成されているように見えるので、ストーリーボードの制約は利用できず、ビューのセルにプログラム制約を適用できませんでした。
私はこれをどのように修正するのか分かりませんし、何か提案が大好きです。
MSStickerBrowserViewはUICollectionViewSubclassではなく、UIViewから継承し、MSStickerBrowserViewControllerはUIViewControllerではなく、UICollectionViewControllerであり、iMessageアプリケーションのさまざまな動作を説明するのに役立ちます。 –