一直以為都被這個(gè)屬性所困擾, 遇到時(shí)總是一個(gè)一個(gè)試,并沒(méi)有了解各種特點(diǎn),看過(guò)很多作者說(shuō)明,還是有點(diǎn)困擾,決定自己寫(xiě)個(gè).
主要困擾我的是以下幾個(gè)屬性
- UIViewContentModeScaleToFill
- UIViewContentModeScaleAspectFit
- UIViewContentModeScaleAspectFill
- UIViewContentModeCenter
UIViewContentModeScaleToFill
是contentMode的默認(rèn)值,此屬性可以確保顯示完整的圖片,但是如果imageView的寬高比和圖片的寬高比不一致,則圖片會(huì)被拉伸.
UIViewContentModeScaleAspectFit 與UIViewContentModeScaleAspectFill
這兩個(gè)屬性都帶有Aspect,意思就是使圖片按照原來(lái)的寬高比進(jìn)行拉伸,不同點(diǎn)是UIViewContentModeScaleAspectFit是可以確保顯示完整的圖片,而UIViewContentModeScaleAspectFill則會(huì)出現(xiàn)圖片溢出,顯示不全的現(xiàn)象.
UIViewContentModeCenter
不會(huì)拉伸圖片,如果imageView的尺寸大于圖片的尺寸,則會(huì)將圖片居中顯示,反之則會(huì)顯示圖片的中間部分在imageView
總結(jié):
- 帶Scale的會(huì)拉伸圖片,但不一定按照原來(lái)的寬高比拉伸
- 帶ScaleAspect的會(huì)拉伸圖片,會(huì)按照原來(lái)的寬高比拉伸
- 什么都不帶的就按原圖片大小來(lái)處理
- 如果imageView的寬高比與圖片的寬高比相同,則UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill三者沒(méi)有區(qū)別.