Skip to content

DSFavIconManager is a complete solution for displaying favicons.

License

Notifications You must be signed in to change notification settings

Sky/DSFavIconManager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSFavIconManager

DSFavIconManager is a complete solution for displaying favicons.

Features:

  • Finds and downloads a favicon from an URL.
  • Fast and concurrent.
  • Cache icons in memory and in disk.
  • It doesn't uses a full blown HTML parser.
  • Optional fall-back to apple touch icons for retina displays.

Installation

Use CocoaPods:

pod 'DSFavIconManager'

Usage

demo

Updating an image view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 16.0f, 16.0f)];
imageView.layer.cornerRadius =  2.0f;
imageView.image = [[DSFavIconManager sharedInstance] iconForURL:url completionBlock:^(UIImage *icon) {
    imageView.image = icon;
}];
Using apple touch icon fall-back for high resolution displays
[DSFavIconManager sharedInstance].useAppleTouchIconForHighResolutionDisplays = YES;
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 16.0f, 16.0f)];
imageView.layer.cornerRadius =  2.0f;
imageView.image = [[DSFavIconManager sharedInstance] iconForURL:url completionBlock:^(UIImage *icon) {
    imageView.image = icon;
    // Apple touch icons usually are designed for rounded corners.
    imageView.layer.masksToBounds = (icon.size.width / icon.scale) > 16.0f;
}];
Updating an activity indicator
[AFNetworkActivityIndicatorManager sharedManager].enabled = true;
[[NSNotificationCenter defaultCenter] addObserverForName:kDSFavIconOperationDidStartNetworkActivity object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
    [[AFNetworkActivityIndicatorManager sharedManager] incrementActivityCount];
}];

[[NSNotificationCenter defaultCenter] addObserverForName:kDSFavIconOperationDidEndNetworkActivity object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
    [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount];
}];

About

DSFavIconManager is a complete solution for displaying favicons.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 96.8%
  • Ruby 2.2%
  • Other 1.0%