Toolbar

by 1amageek

1amageek /Toolbar

Awesome autolayout Toolbar. Toolbar is a library for iOS. You can easily create chat InputBar.

451 Stars 34 Forks Last release: Not found MIT License 73 Commits 20 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Toolbar

Version Platform Downloads

This toolbar is made with Autolayout. It works more interactively than UIToolbar.

Please Donate

Slow Animations Debug mode

If you want a Toolbar that works with the keyboard, please see here. https://github.com/1amageek/OnTheKeyboard

Installation

CocoaPods

  • Inset
    pod 'Toolbar'
    to your Podfile.
  • Run
    pod install

Usage

Height and Width of the Toolbar are determined automatically. Do not set frame.

Initialization.

let toolbar: Toolbar = Toolbar()
let toolbar: Toolbar = Toolbar()

lazy var camera: ToolbarItem = { let item: ToolbarItem = ToolbarItem(image: #imageLiteral(resourceName: "camera"), target: nil, action: nil) return item }()

lazy var microphone: ToolbarItem = { let item: ToolbarItem = ToolbarItem(image: #imageLiteral(resourceName: "microphone"), target: nil, action: nil) return item }()

lazy var picture: ToolbarItem = { let item: ToolbarItem = ToolbarItem(image: #imageLiteral(resourceName: "picture"), target: nil, action: nil) return item }()

var toolbarBottomConstraint: NSLayoutConstraint?

override func loadView() { super.loadView() self.view.addSubview(toolbar) self.toolbarBottomConstraint = self.toolbar.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: 0) self.toolbarBottomConstraint?.isActive = true }

override func viewDidLoad() { super.viewDidLoad() self.toolbar.maximumHeight = 100 self.toolbar.setItems([self.camera, self.picture, self.microphone], animated: false) }

Hide items

func hideItems() {
    self.camera.setHidden(false, animated: true)
    self.microphone.setHidden(false, animated: true)
    self.picture.setHidden(false, animated: true)
}

Stretchable TextView

You can control the height by setting

maximumHeight
.
// ViewController

override func viewDidLoad() { super.viewDidLoad() self.toolbar.maximumHeight = 100 let textView: UITextView = UITextView(frame: .zero) textView.delegate = self textView.font = UIFont.systemFont(ofSize: 14) self.toolbar.setItems([textView], animated: false) }

// UITextViewDelegate func textViewDidChange(_ textView: UITextView) { let size: CGSize = textView.sizeThatFits(textView.bounds.size) if let constraint: NSLayoutConstraint = self.constraint { textView.removeConstraint(constraint) } self.constraint = textView.heightAnchor.constraint(equalToConstant: size.height) self.constraint?.priority = UILayoutPriorityDefaultHigh self.constraint?.isActive = true }

var constraint: NSLayoutConstraint?

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.