UIScrollView居中顯示圖片,并實現(xiàn)動態(tài)切換-swift實現(xiàn)

? ? ? 最近做項目時,需要在頁面中顯示一系列圖片,這些圖片通過用戶點擊按鈕進(jìn)行切換,并且可以實現(xiàn)縮放操作。因為這一系列圖片大小不一,長寬比各異,因此要居中顯示需要結(jié)合代碼進(jìn)行動態(tài)調(diào)整。除了單純的顯示圖片外,頁面還顯示對應(yīng)的一組注記和文字,注記和文字的位置與圖片是配套的,坐標(biāo)數(shù)據(jù)存儲在sqlite數(shù)據(jù)庫中,并且以圖片的左上角為注記零點。這一系列圖片因為內(nèi)容帶有不規(guī)則的陰影效果(陰影在右下方),因此不是以圖片左上腳點縮放圖片,或者是通過最終大小反推出縮放系數(shù),都會導(dǎo)致注記位置計算不準(zhǔn)確。

? ? 首先,使用AutoLayout對UIScrollview和UIImageView布局。UIScrollview和父View相套和,UIImageView定位在UIScrollView中心點,并設(shè)置四個方向的距離。

? ? 在使用UIImageView加載圖片時,將它的contentMode屬性選擇TopLeft。


將UIImageView四個方向的約束與代碼連接,結(jié)合代碼設(shè)置約束的Constraint值,實現(xiàn)UIImageView(圖片)的居中。


注意:iOS7以后,默認(rèn)會給UIScrollView上下留白,需要設(shè)置屬性去掉白邊

? ? ? ? ? self.automaticallyAdjustsScrollViewInsets = false

? ? ? ? ?UIImageView每次更換image前,都組要設(shè)置contentMode屬性


本例中,出使情況下沒有縮放UIImageView中圖片和UIScrollView。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容