在用戶登錄後的第一個View Controller中,可以快速檢查用戶是否將自定義圖像上傳到了自己的帳戶。 (如果他有,用戶的個人資料數據中有一個URL。)UIImageView顯示來自HTTP的下載圖像,但不會顯示圖像資源
這些圖像在我的代碼中正確下載,並且它們顯示得很漂亮。問題出現在沒有自定義用戶圖像時,VC嘗試將相同的UIImageView設置爲默認圖片(在xcassets中)。據我所知,圖片被加載到包中,並且它是一個有效的PNG文件。
這是設置圖像的代碼片段。如果找不到自定義網址,我將URL參數字符串設置爲「nil」。
-(void) setImageWithUrl: (NSString *) Url Imageview: (UIImageView *) image {
if (Url.length > 4) {
NSURL *url = [NSURL URLWithString:Url];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *Profileimage = [UIImage imageWithData:data];
[image setImage:Profileimage];
}
else {
UIImage *Profileimage = [UIImage imageNamed:@"DefaultPicture"];
[image setImage:Profileimage];
}
}
這個讓我瘋狂,所以所有奇怪的想法都受到歡迎。 :-)
讓我知道你是否希望我發佈你認爲可能是一個因素的任何其他代碼部分。
你設置了一個斷點,並通過調試?如果是這樣,這個流程實際上是否在'if(Url.length> 4)'失敗並落入'else'?如果是這樣,'Profileimage'是否從'[UIImage imageNamed:@「DefaultPicture」];'?找出哪個問題的答案是「否」,你應該找到解決方案。 – DonMag
@DonMag標準調試演練取得成功。事實證明,Url.length總是大於4,因爲數據庫有時會將其放入用戶配置文件中的一些「額外垃圾」。在代碼中解決這個問題解決了這個問題。 –