Need help with Toolbar?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

1amageek
459 Stars 33 Forks MIT License 81 Commits 6 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

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.