iOS利用九切片進行切圖,使UI不會變形
1.手寫程式碼:
UIImageView*svRect;
UIImage*backgroundImage = [UIImageimageNamed:@"bg.png"];
backgroundImage= [backgroundImageresizableImageWithCapInsets:UIEdgeInsetsMake(15,15,15,15)];//這句就是最關鍵的了
svRect = [[UIImageViewalloc]initWithImage:backgroundImage];
[svRectsetFrame:CGRectMake(50,50,200,200)];
[self.viewaddSubview: svRect];
問題
2. 使用Asset Catalog元件對圖片進行9切片處理
Asset Catalog元件可以用來統一的管理專案中的圖片等資源,還提供對圖片資源的裝置適配,高清,拉伸等支援,也提供9切片技術的支援。本案例將學習如何使用Asset Catalo元件對圖片進行9切片處理,如圖-3所示:
圖-3
2.2 方案
首先在Storyboard中拖放一個Button控制元件和一個ImageView控制元件。然後可以在右邊欄的檢查器中直接設定Button和ImageView 的圖片,但是需要先匯入圖片。
在Xcode的導航欄中選中Images.xcassets,在空白處點選右鍵,在彈出的視窗中選擇New Image Set,可以重新命名為button。將button的不同尺寸的圖片到右邊的介面中相應的位置,一般圖片都有兩個尺寸一個是原始大小,一個是擴大兩倍的大小,為Retina屏準備的。
然後點選右下角的Show Slicing,通過移動圖片的分割線設定九切片上下左右保留的畫素,在右邊欄的檢查器三中設定切片模式,按鈕採用的是拉昇模式所以選擇Stretches,檢查器中同樣也可以手動設定上下左右保留的畫素點。
以同樣的方式將ImageView的圖片也匯入到Images.xcassets中,命名為seperator,切片模式則選擇為平鋪Tiles。
最後可以直接在Storyboard中設定Button和ImageView的圖片了,不需要再寫額外的程式碼了。
2.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:匯入圖片到Images.xcassets中
首先在Storyboard中拖放一個Button控制元件和一個ImageView控制元件。然後可以在右邊欄的檢查器中直接設定Button和ImageView 的圖片,但是需要先匯入圖片。
在Xcode的導航欄中選中Images.xcassets,在空白處點選右鍵,在彈出的視窗中選擇New Image Set,如圖-4所示:
圖-4
將新建立的ImageSet重新命名為button,然後將button的不同尺寸的圖片到右邊的介面中相應的位置,一般圖片都有兩個尺寸一個是原始大小,一個是擴大兩倍的大小,為Retina屏準備的,如圖-5所示:
圖-5
步驟二:在ImageSet中設定圖片
點選右下角的Show Slicing,通過移動圖片的分割線設定九切片上下左右保留的畫素,兩張圖片都要設定,如圖-6所示:
圖-6
然後在右邊欄的檢查器三中設定切片模式,按鈕採用的是拉昇模式所以選擇Stretches,檢查器中同樣也可以手動設定上下左右保留的畫素點,如圖-7所示:
圖-7
最後以同樣的方式將ImageView的圖片也匯入到Images.xcassets中,命名為seperator,切片模式則選擇為平鋪Tiles,如圖-8、圖-9所示:
圖-8
圖-9
步驟三:在Storyboard中設定控制元件的圖片
在Storyboard中分別將Button控制元件和ImageView控制元件的image設定為button和seperator,如圖-10、圖-11所示:
圖-10
圖-11
在Stroyboard的場景中可以看到圖片已經按九切片的方式設定完成,如圖-12所示:
圖-12
更多好文新增微信:Lee5-308
微博:Cocos2d-js遊戲開發-李堅武
相關文章
- css控制圖片不變形,圖片自動適應CSS
- 利用RMAN搭建DATAGARD進行主備切換
- UI上的切圖神器UI
- 【視訊教學】如何利用高德地圖IOS SDK進行開發?地圖iOS
- iOS UI 進階 (一)iOSUI
- iOS中使用UISegmentControl進行UITableView切換iOSUIView
- Android切九妹圖片Android
- UI設計師SVG動畫進階篇——路徑變形動畫(下篇)UISVG動畫
- UI設計師SVG動畫進階篇——路徑變形動畫(中篇)UISVG動畫
- CSS實現圖片等比例縮小不變形CSS
- 九,iOS圓形介面選單的實現iOS
- 並行建立索引會不會進行直接路徑讀取?並行索引
- 利用網路切片抓住企業應用的機會
- Python 的切片為什麼不會索引越界?Python索引
- 小程式—九宮格心形拼圖
- python-進階教程-對切片進行命名Python
- iOS 核心圖形之CGFontiOS
- iOS 圖形效能優化iOS優化
- 使用JavaScript進行基本圖形操作與處理JavaScript
- 教你一步一步實現圖示無縫變形切換
- 初探G6, 切換資料時保證圖位置不變
- 【爬坑日記】利用axios進行post提交formdataiOSORM
- 框架會使程式設計師變笨嗎?框架程式設計師
- css實現圖片按寬等比例縮放不變形CSS
- UI設計規範技巧——切圖格式UI
- 如何利用API介面進行高效的商品變體管理?API
- 在VB中用Paintpicture方法進行圖形處理 (轉)AI
- 利用python進行識別相似圖片(二)Python
- iOS 圖形效能最佳化iOS
- 利用 Rize 來進行 UI 測試或 E2E 測試UI
- 在2D引擎圖底層進行圖形模組分析(轉)
- 讓人不後悔進入IT行業的九大理由行業
- 如何利用javascript改變滑鼠指標的形狀JavaScript指標
- 利用 JS 進行圖片處理並生成對應粒子圖JS
- Linux7 圖形介面的切換Linux
- excel如何複製到word不變形Excel
- 根據比例縮放圖片的尺寸不變形程式碼例項
- Go 如何對陣列切片進行去重Go陣列