iOS 10 のメッセージ拡張機能のステッカーを動的にロードしようとしています。これらのアイコンを正常にロードしました。ただし、メッセージ アプリの比率を適切に制限することはできません。
メッセージ拡張機能のコンパクト ビューでは、フッターがあります。これはここで見ることができます:
MSStickerBrowserView のサブビューである MSStickerBrowserView を介してこれらのステッカーをロードしています。numberOfStickers と stickerBrowserView のスーパークラス メソッドをオーバーライドして、画像を読み込みます。
私が知る限り、MSStickerBrowserView は UICollectionView の単なるラッパーです。
とにかく、ステッカーがロードされた後、ヘッダーとフッターに制限されていません。私が意味することのgifを以下に添付しました:
ご覧のとおり、コンパクト ビューでは、ステッカーの最後の行がフッターの下に表示されます。したがって、拡大表示では、ステッカーの一番上の行がヘッダーの下に表示されます。
実験として、同じ動的ステッカー システムを実装しましたが、(MSStickerBrowser ラッパーの代わりに) 実際の UICollectionViewController と UICollectionView を使用したところ、同じ効果が得られました。さらに、このためのカスタム レイアウトを作成しようとしましたが、同じ結果が得られました。
MSStickerBrowserView はこの目的のために既に作成されているため、MSStickerBrowserView に固執することをお勧めします。ただし、UICollectionView の方が適している場合は、喜んで変更します。
MSStickerBrowserViewController とビューを使用すると、UICollectionView はプログラムで作成されたように見えるため、ストーリーボードの制約は使用できず、プログラムの制約をビューのセルに適用できませんでした。
これを修正する方法が本当にわからないので、何か提案があれば幸いです。