UIImage:如何获取网站标签图标

时间:2012-02-02 23:27:30

标签: ios uiimageview favicon rss-reader

我正在开发一个RSS阅读器,我需要为每个Feed获取favicon。例如,如果我的Feed是google.com,我想获得“G”图标并将其放入UIImage或其他内容。关于如何实现这一点的任何想法?

3 个答案:

答案 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下拉框下,选择图片名称。

希望有所帮助!