Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucamozza/LMArticleViewController
UIViewController subclass to beautifully present news articles and blog posts.
https://github.com/lucamozza/LMArticleViewController
Last synced: about 1 month ago
JSON representation
UIViewController subclass to beautifully present news articles and blog posts.
- Host: GitHub
- URL: https://github.com/lucamozza/LMArticleViewController
- Owner: lucamozza
- License: mit
- Archived: true
- Created: 2017-01-29T10:00:35.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-12T17:56:25.000Z (almost 8 years ago)
- Last Synced: 2024-11-18T04:27:05.374Z (about 2 months ago)
- Language: Objective-C
- Homepage:
- Size: 4.32 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios-star - LMArticleViewController - UIViewController subclass to beautifully present news articles and blog posts. (UI / Font)
- awesome-ios - LMArticleViewController - UIViewController subclass to beautifully present news articles and blog posts. (UI / Font)
README
# LMArticleViewController
![License](https://img.shields.io/cocoapods/l/LMArticleViewController.svg?style=flat)
![Platform](https://img.shields.io/cocoapods/p/LMArticleViewController.svg?style=flat)
![Version](https://img.shields.io/cocoapods/v/LMArticleViewController.svg?style=flat)This framework allows you to create Apple News-inspired UIViewControllers with ease.
It is heavily inspired by [MRArticleViewController], in fact the core is a simple translation of it. However I added some features I thought could be useful.
![Preview 1](/img-1.png)
![Preview 2](/img-2.png)
## Features
The layout is shown in the images above, here's some extra features.
#### Animations
- [x] The navigation bar shrinks when you scroll down.
- [x] The image view stretches when the scrollview bounces ( just like Facebook's Instant Articles).#### Appereance
- [x] You can set custom fonts for all the text.
- [x] Supports `NSAttributedString` in the body.
- [x] Supports automatic background color and automatic light/dark text color.## Installation
LMArticleViewController is available through CocoaPods. Simply add the following line to your Podfile.```ruby
pod 'LMArticleViewController'
```## Usage
You can either subclass `LMArticleViewController` and set the contents in the `viewDidLoad:` method or instantiate an LMArticleViewController object, set its properties and present it.#### Case A: Subclass
```Objective-C
- (void)viewDidLoad {// Set custom fonts
// Size doesn't matter here, the super class overrides with default values
[self setHeadlineFont:[UIFont fontWithName:@"Nexa Bold" size:1]];
[self setAuthorFont:[UIFont fontWithName:@"Roboto-Regular" size:1]];
[self setDateFont:[UIFont fontWithName:@"Roboto-Regular" size:1]];// Set contents
self.headline = self.dataDictionary[k_TITLE];
self.image = self.dataDictionary[k_IMAGE];
self.author = self.dataDictionary[k_AUTHOR];
self.attributedBody = self.dataDictionary[k_BODY];
self.date = self.dataDictionary[k_DATE];// IMPORTANT! Setup must happen before [super viewDidLoad]!!
[super viewDidLoad];}
```
#### Case B: Init and push
```Objective-C
- (void)openArticleWithContents:(NSDictionary *)dataDictionary {LMArticleViewController* articleViewController = [[LMArticleViewController alloc]init];
[articleViewController setBodyFont:[UIFont fontWithName:@"Roboto-Medium" size:1]];
articleViewController.headline = dataDictionary[k_TITLE];
articleViewController.image = dataDictionary[k_IMAGE];
articleViewController.author = dataDictionary[k_AUTHOR];
articleViewController.attributedBody = dataDictionary[k_BODY];
articleViewController.date = dataDictionary[k_DATE];[self.navigationController pushViewController:articleViewController animated:YES];
}
```## To-Do List
- [ ] Adjust image view size and proportions.[MRArticleViewController]: https://github.com/mrigdon/MRArticleViewController
[ColorArt]: https://github.com/vinhnx/ColorArt
[Chamaleon]: https://github.com/ViccAlexander/Chameleon