Some test text!

menu
search
Annotation toolbarkeyboard_arrow_down

Annotation toolbar

The PTAnnotationToolbar class is a UIToolbar consisting of various annotation creation tools. With the annotation toolbar, users are able to conveniently create and switch between different tools.

Annotation toolbar

The annotation toolbar control is part of the Tools library, so make sure you have added it to your project.

Due to space limitations, only a limited number of tools will show up in portrait mode on smaller devices. See the customization section of this guide for more details on how to customize this.
ScenarioAnnotation Toolbar
Small devices in landscape mode + Tablet devicesMobile device in landscape mode + Tablet device
Small devices in portrait modeMobile device in portrait mode

linkShow and hide the annotation toolbar

To create and set up an annotation toolbar, initialize an AnnotationToolbar instance and add it to your view hierarchy:

let annotationToolbar = PTAnnotationToolbar(toolManager: toolManager)

// Set the current view controller as the annotation toolbar's delegate.
annotationToolbar.delegate = self;

self.view.addSubview(annotationToolbar)

// Position annotation toolbar in superview.
annotationToolbar.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activateConstraints([
    annotationToolbar.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),
    annotationToolbar.widthAnchor.constraint(equalTo: self.view.widthAnchor),
    annotationToolbar.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor)
])

// Hide annotation toolbar by default.
annotationToolbar.isHidden = true

Then, you need to attach a ToolManager to the annotation toolbar so that the toolbar can change tools:
annotationToolbar.toolManager = self.toolManager

// Show the annotation toolbar.
annotationToolbar.isHidden = false

linkCustomization

The PTAnnotationToolbar class provides an API for specifying which tools are displayed in the toolbar when there is insufficient space to show them all. This is controlled by the precedenceArray property, which is an array of PTAnnotBarButton items.

linkAnnotation toolbar delegate

The PTAnnotationToolbarDelegate protocol allows the adopting class (usually the containing view controller, as in this guide) to be notified of annotation toolbar events and control the behavior of the toolbar. Since this protocol also conforms to the UIToolbarDelegate protocol, the annotation toolbar's delegate can implement the positionForBar: method to indicate the toolbar position:

func annotationToolbarDidCancel(_ annotationToolbar: PTAnnotationToolbar) {
    // Hide annotation toolbar when cancelled.
    annotationToolbar.isHidden = true
}

func position(for bar: UIBarPositioning) -> UIBarPosition {
    // The annotation toolbar is usually positioned at the top of its superview.
    return .top;
}

linkEdit annotations continuously

By default, the annotation toolbar returns to the pan tool after an annotation is created. If you prefer to stay in the same tool mode after an annotation is created, you should implement the toolShouldGoBackToPan method in your AnnotationToolbarDelegate adopting class:

func toolShouldGoBack(toPan annotationToolbar: PTAnnotationToolbar) -> Bool {
    return false
}

The annotation toolbar's behavior could also be handled within user settings by checking and returning the appropriate settings value in the method above.

Get the answers you need: Support

close

Free Trial

Get unlimited trial usage of PDFTron SDK to bring accurate, reliable, and fast document processing capabilities to any application or workflow.

Select a platform to get started with your free trial.

Unlimited usage. No email address required.

PDFTron Receives USD$71 Million Growth Investment Led By Silversmith Capital Partners

Learn more
close