我正在嘗試動態加載iOS 10的Message Extension貼紙。我已成功加載這些圖標;然而,它們未能適當地限制消息應用程序的比例。MSStickerBrowserView貼紙走出框架
我通過MSStickerBrowserView的子視圖MSStickerBrowserView加載這些貼圖。我重寫numberOfStickers和stickerBrowserView的超類方法來加載我的圖像。
從我可以告訴,MSStickerBrowserView只是一個UICollectionView的包裝。
無論如何,在加載貼紙之後,它們不會受限於頁眉和頁腳。我已經附上我的意思低於GIF:
正如你所看到的,在緊湊視圖貼的最後一行腳註去下。因此,在展開的視圖中,最上面一排標籤位於標題下方。
作爲一個實驗,我實現了相同的動態貼紙系統,但實際使用了UICollectionViewController和UICollectionView(而不是MSStickerBrowser包裝),並且獲得了相同的效果。此外,我試圖爲此創建自定義佈局,但它產生了相同的結果。
我寧願堅持MSStickerBrowserView,因爲它已經爲此目的而製作;然而,如果你看到更多的UICollectionView,我會願意改變。
請注意,使用MSStickerBrowserViewController和View時,UICollectionView似乎是以編程方式創建的,因此故事板約束條件不可用,我也無法將任何編程約束應用於視圖的單元格。
我真的不知道如何解決這個問題,並會喜歡任何建議。
MSStickerBrowserView不是UICollectionViewSubclass,它繼承自UIView,MSStickerBrowserViewController是UIViewController而不是UICollectionViewController,它有助於解釋iMessage應用程序中的不同行爲。 –