iOS UIImage 拉伸問題 (適用於UIButton等需要局部拉伸的情況)


圖片 有的切圖切很大 還占用ipa大小,有時候 切圖 只需要 局部或者說 一個壓縮的圖片的抽象狀態

直接上代碼

 CGFloat top = 10; // 頂端蓋高度
 CGFloat bottom = 10 ; // 底端蓋高度
 CGFloat left = 10; // 左端蓋寬度
 CGFloat right = 10; // 右端蓋寬度
 UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
[optionButton setBackgroundImage:[[UIImage imageNamed:@"hf_segment_control_left_normal"] resizableImageWithCapInsets:insets] forState:UIControlStateNormal];

//UIImageResizingModeStretch:拉伸模式,通過拉伸UIEdgeInsets指定的矩形區域來填充圖片
//UIImageResizingModeTile:平鋪模式,通過重復顯示UIEdgeInsets指定的矩形區域來填充圖

網上的一張圖,具象的告訴你 四個寬度參數的存在意義,拉伸的就是中間黑色公共區間

妹子上本人的使用成績圖

      

效果圖: 產品經理設計的好美  我好喜歡這種風格

 做出來就是這樣的  拉伸后有很協調的感覺 

錯誤示范:

這個圖片一直是原image 的大小和比例 ,我抓狂了好一會,質疑為啥不拉伸 原來 要讓該圖片拉伸 要用[ UIButton setBackgroundImage:]  我用的是 setImage: 可不出大錯了么,setBackgroudImage是背景平鋪  setImage 就是展示圖片.即:圖片不會隨着按鈕的放大而放大,圖片始終是原始圖片尺寸,而用setBackgroundImage方法設置的圖片,圖片會隨着按鈕的變大而拉伸變大。 

漲姿勢  哈哈  setImage: 就是左邊是圖片 右邊是button.title 

比如:  好美   

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM