【问题标题】:UIImage: How to get website tab iconUIImage:如何获取网站标签图标
【发布时间】:2012-02-02 23:27:29
【问题描述】:

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

【问题讨论】:

    标签: ios uiimageview favicon rss-reader


    【解决方案1】:

    最简单的方法是使用 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];
    

    应该可以的。

    您只需替换要查询图标的域。

    【讨论】:

    • 这曾经有效!无论如何,我今天试了一下,它返回了一个错误,如下所示: Error Domain=NSCocoaErrorDomain Code=256 “无法打开文件“favicon”。”用户信息=0x10a1e4150 {NSURL=plus.google.com/_/favicon?domain=www.microsoft.com}
    • 苹果不推荐 dataWithContentsOfURL。它是一个同步过程,并且会阻止慢速互联网的执行。
    • 你能告诉我如何获得标题。
    【解决方案2】:

    如果您想要网站图标,请尝试在您的应用中调用此 URL: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>
            ...
    

    此图片通常比网站的图标更大,并且可能不是方形的,但通过一些巧妙的裁剪和缩放,如果提要的图标不可用,它可以用作图标。

    【讨论】:

      【解决方案3】:

      如果将图像保存到桌面,

      1) 将图片拖入 xcode 2)转到界面生成器 3)选择UIImage后进入身份检查器 4)在image下拉框下,选择你的图片名称。

      希望有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-07
        • 1970-01-01
        • 2019-09-20
        • 2015-07-08
        • 1970-01-01
        • 2021-11-17
        相关资源
        最近更新 更多