ProductPromotion
Logo

Swift

made by https://0x3d.site

GitHub - Textcat/JLStickerTextView: add text(multiple line support) to imageView, edit, rotate or resize them as you want, then render the text on image
add text(multiple line support) to imageView, edit, rotate or resize them as you want, then render the text on image - Textcat/JLStickerTextView
Visit Site

GitHub - Textcat/JLStickerTextView: add text(multiple line support) to imageView, edit, rotate or resize them as you want, then render the text on image

GitHub - Textcat/JLStickerTextView: add text(multiple line support) to imageView, edit, rotate or resize them as you want, then render the text on image

About

StickerTextView is an subclass of UIImageView. You can add multiple text to it, edit, rotate, resize the text as you want with one finger, then render the text on Image.

Features

  • You can add multiple Text to StickerTextView at the same time
  • Multiple line Text support
  • Rotate, resize the text with one finger
  • Set the Color, alpha, font, alignment, TextShadow, lineSpacing...... of the text
  • StickerTextView also handle the process of rendering text on Image
  • Written in Swift

Installation

Manually

Just drag the Source files into your project(To get the latest version, please install manually)

CocoaPods

To integrate StickerTextView into your Xcode project using CocoaPods, specify it in your Podfile and run pod install:

use_frameworks!
pod "JLStickerTextView", "~> 0.1.1"

To get the latest version:

use_frameworks!
pod "JLStickerTextView", :git =>
"https://github.com/Textcat/JLStickerTextView.git"

Usage

Start

First, import JLStickerTextView, then subclass the UIImageView, which you want to add text on, to JLStickerImageView, like this:

import JLStickerTextView
class ViewController: UIViewController {
	@IBOutlet var stickerView: JLStickerImageView!
}

If you use Storyboard, you also need connect the UIImageView to JLStikcerImageView Class in Identity Inspector.

Add new Label

It is quite easy to add new label to current StickerImageView:

stickerView.addLabel()

Set the Label

You can set the color, font , alignment, alpha.... of the label.(check all avaliable text attributes)

stickerView.textColor = UIColor.whiteColor()

Note: when you set the properties, you make change to the current selected TextLabel.

Render Text on Image

When you feel good, you are going to render the Text on Image and save the image:

let image = stickerView.renderTextOnView(stickerView)
UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)

Customize the StickerTextView appearance

Customize stickerTextView appearance is very strightforward:

//Set the image of close Button
stickerView.currentlyEditingLabel.closeView!.image = UIImage(named: "cancel")
//Set the image of rotate Button
stickerView.currentlyEditingLabel.rotateView?.image = UIImage(named: "rotate")
//Set the border color of textLabel
stickerView.currentlyEditingLabel.border?.strokeColor = UIColor.redColor().CGColor

Note: closeView and rotateView are both UIimageView, while border is CAShapeLayer

Scale stickerView proportionally

This function is not complete yet, I just make it to fit my requirement.

stickerView.limitImageViewToSuperView()

When you render the text on UIImageView whose content mode is AspectFit, it is possible you will get some unwanted border. This function will scale UIImageView to fit the image.

Key JLStickerImageView Property value Type
Font .fontName String
Alignment .textAlignment NSTextAlignment
Alpha .textAlpha CGFloat
textColor .textColor UIColor
lineSpacing .lineSpacing CGFloat
TextShadow .textShadowOffset CGSize
.textShadowColor UIColor
.textShadowBlur CGFloat

Contributon

Any suggestion, request, pull are welcome. If you encounter any problem, feel free to create an issue.

If you want to add more text attributes:

  1. Please fork this project
  2. Define the attribute you want in JLAttributedTextView.swift
  3. implement user interface in JLStickerImageVIew.swift
  4. Write appropriate docs and comments in the README.md
  5. Submit a pull request

Plan

Here are some ideas:

  • More options for text(eg: lineSpacing)
  • Interface to customize the appearance of StickerLabelView(close Button, rotate button, border,etc)
  • More general solution for Scaling stickerView proportionally
  • Support placeholder

Reference

Based on

Also inspired by

More Resources
to explore the angular.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here ๐Ÿ”.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory