0
A
回答
0
您可以使用AFNetWorking從網站加載圖像。 像這樣更改MosaicDataView.m中的方法setModule
-(void)setModule:(MosaicData *)newModule
{
module = newModule;
__weak UIImageView *weakImage = imageView;
__weak UIView *weakView = self;
__weak MosaicData *weakModule = module;
UIImage *image = [imageView loadImage:module.tg_id ofType:@"png"];
if (image)
{
[imageView setImage:image];
}
else
{
[imageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:module.l_cover_url]] placeholderImage:[UIImage imageNamed:@"test.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
{
[weakImage setImage:image];
CGSize imgFinalSize = CGSizeZero;
[weakImage saveImage:image withFileName:weakModule.tg_id ofType:@"png"];
if (image.size.width < image.size.height)
{
imgFinalSize.width = weakView.bounds.size.width;
imgFinalSize.height = weakView.bounds.size.width * image.size.height/image.size.width;
// This is to avoid black bars on the bottom and top of the image
// Happens when images have its height lesser than its bounds
if (imgFinalSize.height < weakView.bounds.size.height)
{
imgFinalSize.width = weakView.bounds.size.height * weakView.bounds.size.width/imgFinalSize.height;
imgFinalSize.height = weakView.bounds.size.height;
}
}
else
{
imgFinalSize.height = weakView.bounds.size.height;
imgFinalSize.width = weakView.bounds.size.height * image.size.width/image.size.height;
// This is to avoid black bars on the left and right of the image
// Happens when images have its width lesser than its bounds
if (imgFinalSize.width < weakView.bounds.size.width)
{
imgFinalSize.height = weakView.bounds.size.height * weakView.bounds.size.width/imgFinalSize.height;
imgFinalSize.width = weakView.bounds.size.width;
}
}
weakImage.frame = CGRectMake(0, 0, imgFinalSize.width, imgFinalSize.height);
weakImage.center = CGPointMake(weakView.frame.size.width/2, weakView.frame.size.height/2);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error)
{
NSLog(@"%@",error);
}];
}
// Set new title
NSInteger marginLeft = self.frame.size.width/20;
NSInteger marginBottom = self.frame.size.height/20;
titleLabel.text = module.title;
titleLabel.font = [self fontWithModuleSize];
CGSize newSize = [module.title sizeWithFont:titleLabel.font constrainedToSize:titleLabel.frame.size];
CGRect newRect = CGRectMake(10+marginLeft,
self.frame.size.height - newSize.height - marginBottom,
newSize.width-30,
newSize.height);
titleLabel.frame = newRect;
}
相關問題
- 1. MongoConnectionException在本地,而不是在遠程
- 2. 替換圖像而不是文本
- 3. 帶有遠程圖像的ListActivity項目
- 4. UIWebView - 遠程HTML加載本地圖像
- 5. 轉換項目而不引入錯誤
- 6. 春天SFTP閱讀和遠程的,而不本地目錄
- 7. 從項目文件夾轉換圖像
- 8. 刪除本地「遠程分支」而不刪除遠程分支?
- 9. UITableView遠程縮略圖圖像,帶佔位符本地圖像
- 10. 將本地圖像轉換爲base64 javascript
- 11. .NET遠程客戶端配置生成本地對象,而不是遠程
- 12. Jquery可排序 - 替換項目而不是交換項目
- 13. AjaxFileUpload將圖像保存到本地目錄而不是服務器目錄
- 14. 圖像轉換爲base64而不上傳
- 15. WMI管理範圍連接到本地而不是遠程
- 16. rsync複製到本地而不是遠程
- 17. jquery的ajax請求失敗,在遠程,而不是在本地
- 18. 獲取Android Studio中使用本地的Javadoc,而不是遠程
- 19. 在git中使用遠程分支而不是本地分支
- 20. Browsersync服務本地文件而不是遠程文件
- 21. htaccess的 - 工作在本地,而不是遠程服務器上
- 22. 在遠程站點而不是本地使用GIT
- 23. 本地文件指定而不是遠程
- 24. 參考本地文件,而不是一個遠程文件
- 25. 加載遠程圖像後加載本地圖像失敗
- 26. Python:從圖像轉換矩陣是3D而不是2D
- 27. 陣營本地PNG圖像像素化,而不是HD
- 28. Docker圖像如何在本地構建,但不在遠程目標上?
- 29. 將遠程合併到git項目的本地子目錄中
- 30. 本地Azure移動服務顯示默認項目,而不是修改項目