Code Monkey home page Code Monkey logo

nsattributedstring-ddhtml's Introduction

NSAttributedString+DDHTML

Simplifies working with attributed strings by allowing you to use HTML to describe formatting behaviors.

NSAttributedString+DDHTML isn't intended to support full HTML rendering. Instead it provides a quick, effient and light-weight implementation for leveraging attributed strings when utilizing native UIKit interface elements.

License


It is open source and covered by a standard BSD license. That means you have to mention Derek Bowen @ Deloite Digital as the original author of this code.

Requirements


NSAttributedString+DDHTML requires a minimum iOS deployment target of iOS 7.0 because of:

  • NSTextAttachment

Setup


Using CocoaPods

One of the easiest ways to integrate NSAttributedString+DDHTML in your project is to use CocoaPods:

  1. Add the following line to your Podfile:

    pod "NSAttributedString-DDHTML"
  2. In your project directory, run pod update

  3. You should now be able to add #import <NSAttributedString-DDHTML/NSAttributedString+DDHTML.h> to any of your target's source files to use the library!

Manual

  1. Add NSAttributedString+DDHTML.m/h to your project.
  2. Add libxml2.dylib to the "Link Binary With Libraries" section of your target's build phase.
  3. Add ${SDKROOT}/usr/include/libxml2 to your project's Header Search Paths under Build Settings.
  4. Start using it!

Usage


#import "NSAttributedString+DDHTML.h"

...

NSAttributedString *attributedString = [NSAttributedString attributedStringFromHTML:@"My <b>formatted</b> string."];

...

Supported Tags


b, strong - Bold (iOS, watchOS, tvOS)

i - Italics (iOS, watchOS, tvOS)

u - Underline (iOS, watchOS, tvOS)

strike - Strikethrough (iOS, watchOS, tvOS)

stroke - Stroke (iOS, watchOS, tvOS)

  • color: Color of stroke, e.g. stroke="#ff0000"
  • width: Width of stroke, e.g. stroke="2.0"
  • nofill: If present text color will be transparent

shadow - Shadow (iOS, tvOS)

  • offset: Amount to offset shadow from center of text, e.g. offset="{1.0, 1.0}"
  • blurRadius: Radius/thickness of the shadow
  • color: Color of the shadow

font - Font (iOS, watchOS, tvOS)

  • face: Name of font to use, e.g. face="Avenir-Heavy"
  • size: Size of the text, e.g. size="12.0"
  • color: Color of the text, e.g. color="#fafafa"
  • backgroundColor: Color of the text background, e.g. backgroundColor="#333333"

br - Line Break (iOS, watchOS, tvOS)

p - Paragraph (iOS, watchOS, tvOS)

  • align: Alignment of text, e.g. align="center"
    • Available values: left, center, right, justify
  • lineBreakMode: How to handle text which doesn't fit horizontally in the view
    • Available values: WordWrapping, CharWrapping, Clipping, TruncatingHead, TruncatingTail, TruncatingMiddle
  • firstLineHeadIndent
  • headIndent
  • hyphenationFactor
  • lineHeightMultiple
  • lineSpacing
  • maximumLineHeight
  • minimumLineHeight
  • paragraphSpacing
  • paragraphSpacingBefore
  • tailIndent

img - Image (iOS, tvOS)

  • src : key in imagerMapper parameter
  • width : px
  • height : px

nsattributedstring-ddhtml's People

Contributors

dbowen avatar everettjf avatar iworkinprogress avatar maicki avatar mciuba avatar richsage avatar timonus avatar yevgeniy-logachev avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.