溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

iOS如何實(shí)現(xiàn)圖片拉伸

發(fā)布時(shí)間:2021-07-07 12:44:40 來(lái)源:億速云 閱讀:218 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要為大家展示了“iOS如何實(shí)現(xiàn)圖片拉伸”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iOS如何實(shí)現(xiàn)圖片拉伸”這篇文章吧。

假如下面的一張圖片,是用來(lái)做按鈕的背景圖片的,原始尺寸是76?×?40

iOS如何實(shí)現(xiàn)圖片拉伸

我們通過(guò)代碼將這張圖片設(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é)果如下:圖片被拉伸了。

iOS如何實(shí)現(xiàn)圖片拉伸

原因分析:是將原是尺寸為76?×?40 的圖片拉伸成了W=200, H=50;

解決方案:

1.找美工重做一張較大的圖片,這樣的話就會(huì)出現(xiàn)軟件包將來(lái)會(huì)變大,占用空間更大;如果我們要經(jīng)常修改按鈕的frame,美工設(shè)計(jì)比較繁瑣;
2.蘋(píng)果為我們提供了關(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];

iOS如何實(shí)現(xiàn)圖片拉伸

還有一種設(shè)置方法:

iOS如何實(shí)現(xiàn)圖片拉伸

iOS如何實(shí)現(xiàn)圖片拉伸

以上是“iOS如何實(shí)現(xiàn)圖片拉伸”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ios
AI