[英]Background image stretching in iPhone X
當前,我們正在使用具有@ 1x,@ 2x和@ 3x的圖像資產,它們將支持所有設備。 但是,當我們將相同的圖像資產用於iPhone X時,@ 3x圖像在iPhone X中看起來像張拉的。因此,請讓我知道如何支持具有相同圖像資產的iPhone X設備,或者是否有任何解決方案可解決此問題。
另一種選擇是選擇“ Aspect Fill
。 然后在屬性檢查器中降低,選擇“ Clip to Bounds
。 該圖像將填滿您的UIIMageView,但是基於寬高比,將其裁剪為“刪除”圖像中與視圖不匹配的部分。
避免所有這些情況的唯一方法是使圖像的長寬比(寬度與高度)與UIImageView的長寬比匹配。
僅當使用scaleToFill時,圖像才會拉伸。 嘗試更改UIImageView或任何用於顯示圖像的內容模式。
這是定義不同屏幕尺寸(iPhone XS Max,iPhone XS,iPhone Xr)的圖像的非正式技巧。
我發現了一個把戲。 在我的應用程序中,我們為所有iPhone設備提供了啟動屏幕(請參見屏幕截圖)。
Launch screen
為Login
后出現的下一個屏幕。 它應該具有與“ Launch screen
相同的圖像。 不幸的是, Xcode
開箱即用地在Assets
創建了以下image set
(iPhone 1x,2x,3,iPad 1x,2x-請參見圖像)。
在從“ Launch Screen
到“ Login screen
過渡期間,我看到了偽像,因為在iPhone X,Xs Max,iPhone Xr上圖像拉伸
為了解決此問題,我將Contents.json
文件從LaunchImage.launchimage
文件夾復制到Finder中的 BackgroundImage.imageset
文件夾中(請參見下圖的步驟)
現在在Xcode
我看到以下模板。 我可以為以下設備定義背景圖像:Retina HD 4.7“(iPhone 6,iPhone 7,iPhone 8),Retina HD 5.5”(iPhone 6 Plus,iPhone 7 Plus,iPhone 8 Plus),iPhone Xr,iPhone X / iPhone Xs ,iPhone Xs Max
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.