iOS圖片拉伸的方法
假如下面的一張圖片,是用來做按鈕的背景圖片的,原始尺寸是76 × 40
我們通過代碼將這張圖片設(shè)置為按鈕的背景圖片,假如我們將創(chuàng)建好的按鈕的寬高設(shè)置為:(W=200, H=50)代碼如下:
// 初始化按鈕 UIButton *button = [[UIButton alloc] init]; // 設(shè)置尺寸 button.frame = CGRectMake(100, 200, 200, 50); // 加載圖片 UIImage *image = [UIImage imageNamed:@"ppm_new_shuliang.png"]; // 設(shè)置背景圖片 [button setBackgroundImage:image forState:UIControlStateNormal]; // 添加按鈕 [self.view addSubview:button];
結(jié)果如下:圖片被拉伸了。
原因分析:是將原是尺寸為76 × 40 的圖片拉伸成了W=200, H=50;
解決方案:
1.找美工重做一張較大的圖片,這樣的話就會(huì)出現(xiàn)軟件包將來會(huì)變大,占用空間更大;如果我們要經(jīng)常修改按鈕的frame,美工設(shè)計(jì)比較繁瑣;
2.蘋果為我們提供了關(guān)于圖片拉伸的API,我們可以直接利用代碼實(shí)現(xiàn);
修改后:
// 初始化按鈕 UIButton *button = [[UIButton alloc] init]; // 設(shè)置尺寸 button.frame = CGRectMake(100, 200, 200, 50); CGFloat top = 0; // 頂端蓋高度 CGFloat bottom = 0 ; // 底端蓋高度 CGFloat left = 22; // 左端蓋寬度 CGFloat right = 22; // 右端蓋寬度 UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right); // 加載圖片 UIImage *image = [UIImage imageNamed:@"ppm_new_shuliang.png"]; image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch]; // 設(shè)置背景圖片 [button setBackgroundImage:image forState:UIControlStateNormal]; // 添加按鈕 [self.view addSubview:button];
還有一種設(shè)置方法:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS實(shí)現(xiàn)輸入框跟隨鍵盤自動(dòng)上移的實(shí)例代碼
本篇文章主要介紹了iOS實(shí)現(xiàn)輸入框跟隨鍵盤自動(dòng)上移的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04iOS APP中保存圖片到相冊(cè)時(shí)崩潰的解決方法
下面小編就為大家分享一篇iOS APP中保存圖片到相冊(cè)時(shí)崩潰的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12iOS應(yīng)用開發(fā)中監(jiān)聽鍵盤事件的代碼實(shí)例小結(jié)
這篇文章主要介紹了iOS應(yīng)用開發(fā)中監(jiān)聽鍵盤事件的代碼實(shí)例小結(jié),呼出鍵盤等操作為iOS App中的必備功能,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03ios動(dòng)態(tài)設(shè)置lbl文字標(biāo)簽的高度
本文給大家分享的是ios動(dòng)態(tài)設(shè)置lbl文字標(biāo)簽的高度寬度的方法,一共給大家匯總了3種方法,小伙伴們根據(jù)自己的項(xiàng)目需求自由選擇。2015-05-05IOS計(jì)步器功能實(shí)現(xiàn)之Healthkit和CMPedometer
現(xiàn)在越來越多的人關(guān)注運(yùn)動(dòng)和健康,iOS系統(tǒng)也在很早的時(shí)候就自帶了健康A(chǔ)PP,下面詳細(xì)描述一下在我們開發(fā)中,怎么實(shí)現(xiàn)計(jì)步器功能。2016-08-08