我有一个标准的UITableViewCell
,使用文本和图像属性显示favicon.ico
和标签。在大多数情况下,这很有效,因为UIImage
支持ICO格式。但是,某些站点(例如Amazon.com这样)具有favicon.ico
,它们利用了ICO格式在同一文件中存储多个大小的功能。亚马逊存储四种不同的尺寸,一直到48x48。
这导致大多数图像为16x16,除了少数以32x32或48x48输入的图像之外,其他一切看起来都很糟糕。我在这里,官方论坛,文档以及其他地方进行了搜索,但均未成功。我已经尝试过一切可以限制图像大小的方法。唯一起作用的是未记录的方法,我将不使用该方法。这是我的第一个应用程序,也是我第一次使用Cocoa(来自C#)。
如果我不清楚要查找的内容,则理想情况下,建议将围绕UIImage
的尺寸设置,以使48x48版本缩小到16x16,或者告诉UIImage
使用当前存在的16x16版本的方法。 ICO文件。我不一定需要代码:仅建议一种方法就可以了。
有没有人有什么建议? (我在官方论坛as well中问,因为我已经沉迷了一天多。如果在那里发布了解决方案,我也将其放在这里。)
最佳答案
这是用户在官方论坛posted上进行的“bcd”操作,最终解决了该问题(我自己稍作修改,使其静态化,以包含在一组实用程序方法中):
+ (UIImage *)scale:(UIImage *)image toSize:(CGSize)size
{
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
关于iphone - 在UITableViewCell图像上设置UIImage尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/941604/