iOS學(xué)習(xí)之圖片拉伸處理(類似qq的氣泡)

原理是拉伸里面的內(nèi)容,將邊保護(hù)起來

方法1:


  1. 直接傳入保護(hù)的范圍,沒有設(shè)置圖拉伸的模式,默認(rèn)為UIImageResizingModeTile(瓦片式)就是將圖片以原來的大小就行平鋪顯示
[image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30)];
  1. 設(shè)置圖片拉伸的模式
[image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];
 typedef NS_ENUM(NSInteger, UIImageResizingMode) {
    UIImageResizingModeTile,(瓦片)
    UIImageResizingModeStretch,(伸展)
 };

上述的方法是將圖片沒有保護(hù)的部分進(jìn)行拉伸。

方法2:


[image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];

蘋果原始就存在的方法,已經(jīng)被舍棄,這個(gè)方法只會(huì)拉伸中間 1*1 的區(qū)域
一般傳入的值為圖片大小的一半

計(jì)算公式為:

    // left(傳入)
    // top(傳入)
    // width
    // height
    // right = width - left - 1;(計(jì)算)
    // 1 = width - left - right;
    // bottom = height - top - 1;(計(jì)算)
    // 1 = height - top - bottom;

方法3:


不需要寫代碼
將圖片拖拽到images.xcassets,具體設(shè)置步驟如下圖:


操作步驟圖

將圖片按照上圖方法設(shè)置后,圖片會(huì)一直可以拉伸

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

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

  • 返回一張受保護(hù)且被拉伸的圖片 應(yīng)用場(chǎng)景:聊天窗口的氣泡 方法一(棄用): iOS 5.0以前使用(棄用)這個(gè)方法會(huì)...
    林安530閱讀 16,306評(píng)論 1 36
  • 一、目錄 1> 圖片拉伸處理 2> 圖片擴(kuò)展名 3> 大圖減小高度,圖片拉伸處理 4> 點(diǎn)擊大圖,Modal出來,...
    iOS_成才錄閱讀 5,203評(píng)論 1 33
  • 以前一直對(duì)類似聊天氣泡背景圖片拉伸的設(shè)置糾結(jié),不管如何設(shè)置UIEdgeInsets屬性都不能正常設(shè)置,今天對(duì)...
    RunningDu閱讀 3,077評(píng)論 1 4
  • 如果想要拉伸一個(gè)圖片,直接拉伸的話,圖片有透明的區(qū)域會(huì)拉伸變形,需要設(shè)置保護(hù)的區(qū)域方法可以分為兩種通過代碼 在As...
    嗶哩嗶哩智能喵閱讀 918評(píng)論 0 0
  • 在開發(fā)中我們經(jīng)常會(huì)實(shí)現(xiàn)一些背景圖片的指定拉伸,并且拉伸后的圖片需要保持四個(gè)周角樣式不變。比如聊天界面中的氣泡,或者...
    JerryLMJ閱讀 12,693評(píng)論 5 26

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