我正在开发一个RSS阅读器,我需要为每个Feed获取favicon。例如,如果我的Feed是google.com,我想获得“G”图标并将其放入UIImage或其他内容。关于如何实现这一点的任何想法?
答案 0 :(得分:19)
最简单的方法是使用Google:
NSString *myURLString = @"http://www.google.com/s2/favicons?domain=www.stackoverflow.com";
NSURL *myURL=[NSURL URLWithString: myURLString];
NSData *myData=[NSData dataWithContentsOfURL:myURL];
UIImage *myImage=[[UIImage alloc] initWithData:myData];
这应该有效。
您只需要替换要查询图标的域。
答案 1 :(得分:3)
如果您需要favicon,请尝试在您的应用中调用此网址:http://www.google.com/s2/favicons?domain=<rss_domain>
:
[NSURLConnection connectionWithRequest:
[NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://www.google.com/s2/favicons?domain=google.com"]]
delegate:self];
否则,RSS频道的元数据有一个可选元素<image>
,在此处描述:http://www.rssboard.org/rss-specification#ltimagegtSubelementOfLtchannelgt
例如:
<channel>
<language>en-us</language>
<title>Scientific American - News</title>
<image>
<title>Scientific American</title>
<link>http://www.scientificamerican.com</link>
<width>144</width>
<url>
http://www.scientificamerican.com/media/logo/SAlogo_144px.gif
</url>
<height>45</height>
</image>
...
此图片通常会比网站的图标大,并且可能不是正方形,但通过一些巧妙的裁剪和缩放,如果Feed的图标不可用,它可以作为图标使用。
答案 2 :(得分:-7)
如果将图像保存到桌面,
1)将图像拖入xcode
2)转到界面构建器
3)选择UIImage后转到身份检查器
4)在image
下拉框下,选择图片名称。
希望有所帮助!