iOS UIViewContentMode

一直以為都被這個屬性所困擾, 遇到時總是一個一個試,并沒有了解各種特點,看過很多作者說明,還是有點困擾,決定自己寫個.

主要困擾我的是以下幾個屬性

  • UIViewContentModeScaleToFill
  • UIViewContentModeScaleAspectFit
  • UIViewContentModeScaleAspectFill
  • UIViewContentModeCenter

UIViewContentModeScaleToFill

是contentMode的默認值,此屬性可以確保顯示完整的圖片,但是如果imageView的寬高比和圖片的寬高比不一致,則圖片會被拉伸.

UIViewContentModeScaleAspectFit 與UIViewContentModeScaleAspectFill

這兩個屬性都帶有Aspect,意思就是使圖片按照原來的寬高比進行拉伸,不同點是UIViewContentModeScaleAspectFit是可以確保顯示完整的圖片,而UIViewContentModeScaleAspectFill則會出現圖片溢出,顯示不全的現象.

UIViewContentModeCenter

不會拉伸圖片,如果imageView的尺寸大于圖片的尺寸,則會將圖片居中顯示,反之則會顯示圖片的中間部分在imageView

總結:

  • 帶Scale的會拉伸圖片,但不一定按照原來的寬高比拉伸
  • 帶ScaleAspect的會拉伸圖片,會按照原來的寬高比拉伸
  • 什么都不帶的就按原圖片大小來處理
  • 如果imageView的寬高比與圖片的寬高比相同,則UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill三者沒有區別.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容