首先要在項目目錄下導入一張圖片,如 testImage@2x.png

創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷、微信小程序、網(wǎng)站運營為一體的建站企業(yè);在網(wǎng)站建設(shè)告別千篇一律,告別似曾相識,這一次我們重新定義網(wǎng)站建設(shè),讓您的網(wǎng)站別具一格。成都響應(yīng)式網(wǎng)站建設(shè)公司,實現(xiàn)全網(wǎng)營銷!一站適應(yīng)多終端,一樣的建站,不一樣的體驗!
然后,在viewController.view上,添加一個子視圖UIImageView imageVeiw.
[self.view addSubview:imageVeiw];
然后使用圖片文件生成圖片對象image
UIImage *image = [UIImage imageNamed:@"testImage"];//不需要包含后綴'@2x.png'
然后,將圖片加載到imageView中:
[imageVeiw setImage:image];
至此,就能在屏幕上顯示一張圖片了。
一個圖片的地址放在瀏覽中能正常加載出來,但使用SDWebImage加載該圖片地址的時候卻加載不出來。
之前遇到這個問題有兩種情況
瀏覽器在加載兩類圖片的時候能夠?qū)D片的地址進行處理,然后正常加載出來。
然而SDWebImage卻沒有對圖片地址進行像瀏覽器那樣的處理,這時需要我們自己對圖片地址進行處理。
對于第一種圖片地址我們需要對漢字進行轉(zhuǎn)碼,方法:
對于第二種圖片地址我們需要將反斜杠轉(zhuǎn)成斜杠,方法:
第二種處理方法是用"/"替換地址中的"\",然而字符串"\"不能直接使用,需要使用\\,因為\后帶一些字符是轉(zhuǎn)義字符。
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bgImage"]];?
創(chuàng)建并設(shè)置默認圖, 也可以
UIImageView*imageView = [[UIImageView alloc] init];
imageView.image= [UIImageimageNamed:@"bgImage"];
還可以這樣先設(shè)置imageview的大, 在設(shè)置圖片
UIImageView*imageView = [[UIImageView alloc] initWithFrame:(CGRectMake(0,144,SCREEN_Width,50))];
imageView.image= [UIImageimageNamed:@"bgImage"];
由此可看imageview的frame可以這樣設(shè)置
imageView.frame=CGRectMake(0,144,SCREEN_Width,50);
通常我們使用的的imageview都會添加圓角邊框
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius=25;
imageView.layer.borderColor = [UIColor blueColor].CGColor;
imageView.layer.borderWidth=1;
這個圓角和邊框像view和label以及button的設(shè)置方式都是一樣的 當然imageview也一樣
imageView.backgroundColor= [UIColorclearColor]; 圖片設(shè)置背景顏色, 我通常使用clearColor ?透明
?imageView.userInteractionEnabled = YES; 圖片設(shè)置成可交互, 設(shè)置為NO則不能交互
[self.viewaddSubview: imageView]; 添加視圖也可叫做顯示視圖
設(shè)置圖片內(nèi)容的布局方式 imageView.contentMode
這個屬性是用來設(shè)置圖片的顯示方式,如居中、居右,是否縮放等
imageView.contentMode = UIViewContentModeScaleAspectFit;
UIViewContentMode contentMode枚舉類型
? ? (1)? UIViewContentModeScaleToFill; ? ??默認,對圖片進行拉伸處理(不是按比例),是充滿bouns
? (2)? UIViewContentModeScaleAspectFit; ? ??按原圖比例進行拉伸,是圖片完全展示在bouns中
? ? (3)? UIViewContentModeScaleAspectFill; ? ??按原圖比例填充,使圖片展示在bouns中,可能只顯示部分
? ? (4)? UIViewContentModeRedraw; ? ??重劃邊界變化(重設(shè) - setNeedsDisplay)
? ? (5)? UIViewContentModeCenter; ? ??圖片顯示在imageview的正中間,原圖大小
? ? (6)? UIViewContentModeTop; ? ??圖片顯示在imageview的上部,原圖大小
? ? (7)? UIViewContentModeBottom; ? ??圖片顯示在imageview的下部,原圖大小
? ? (8)? UIViewContentModeLeft; ? ??圖片顯示在imageview的左部,原圖大小
? ? (9)? UIViewContentModeRight; ? ??圖片顯示在imageview的右部,原圖大小
? ? (10)? UIViewContentModeTopLeft; ? ??圖片顯示在imageview的左上部,原圖大小
? ? (11)? UIViewContentModeTopRight; ? ??圖片顯示在imageview的右上部,原圖大小
? ? (12)? UIViewContentModeBottomLeft; ? ??圖片顯示在imageview的左下部,原圖大小
? ? (13)? UIViewContentModeBottomRight; ? ??圖片顯示在imageview的右下部,原圖大小
imageView.alpha = 1.0; ? ?設(shè)置圖片透明度
???NSString *path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
???NSString *path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"jpg"];
???NSString *path3 = [[NSBundle mainBundle] pathForResource:@"3" ofType:@"jpg"];
???imageView.animationImages = @[[UIImage imageWithContentsOfFile:path1],[UIImage imageWithContentsOfFile:path2],[UIImage imageWithContentsOfFile:path3]];
???imageView.animationDuration = 5.0f; ? ?設(shè)置循環(huán)一次的時間
???imageView.animationRepeatCount = 0;? ? // 設(shè)置循環(huán)次數(shù)(0為無線循環(huán))
???[imageView startAnimating];? ? ? ? ? ? // 開始動畫
???[imageView stopAnimating];? ? ? ? ? ? ? // 停止動畫
NSData *imageData = [NSData dataWithContentsOfFile:path];
UIImage *image4 = [UIImage imageWithData:imageData];
NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"];
UIImage *image2 = [UIImage imageWithContentsOfFile:path];
ImageView.hidden?=?NO;????隱藏或者顯示圖片?YES為隱藏
[ImageView?sizeToFit];????將圖片尺寸調(diào)整為與內(nèi)容圖片相同
UITapGestureRecognizer?*singleTap = [[UITapGestureRecognizer?alloc]?initWithTarget:self?action:@selector(tapImageView:)];?//?設(shè)置手勢
[ImageView?addGestureRecognizer:singleTap];?//?給圖片添加手勢
以上都是使用 Image 加載本地圖片資源,但是 SwiftUI 中的 Image 沒有提供直接加載 URL 方式的圖片顯示,那么如何在 SwiftUI 中讓 Image 加載網(wǎng)絡(luò)圖片呢,可以采用異步加載網(wǎng)絡(luò)圖片數(shù)據(jù),由 data 轉(zhuǎn)換成 UIimage ,再給 Image 展示
但是這種異步加載圖片的方式在 Widget 中卻失效了, Image 顯示不了圖片。
在 TimelineProvider 的 getTimeline 中 completion(timeline) 執(zhí)行完之后,不再支持圖片的異步回調(diào)了,所以必須在數(shù)據(jù)請求回來的處理中采用同步方式,將圖片的 data 獲取,轉(zhuǎn)換成 UIimage ,在賦值給 Image 展示。
接下里給 iOS14 Widget小組件開發(fā)實踐2——自定義Widget 里搭建的古詩視圖增加一個網(wǎng)絡(luò)封面圖片顯示,效果如下:
因為這個免費的 API 接口沒有返回圖片封面數(shù)據(jù),所以就自己網(wǎng)上找個圖片用來測試。關(guān)于圖片請求的時機,這里我是將它放在了 API 接口回調(diào)后處理 json 轉(zhuǎn) model 的這一步:
最后在給 PoetryWidgetView 布局界面:
SwitUI-實現(xiàn)URL圖片顯示
文章標題:ios開發(fā)圖片顯示,ios圖片圖標
網(wǎng)頁地址:http://chinadenli.net/article37/dsgjgpj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站內(nèi)鏈、、搜索引擎優(yōu)化、定制網(wǎng)站、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)