Some test text!
iOS / Guides / List container
The PTNavigationListsViewController
class is a container view controller that shows the annotation list , document outline , and user-defined bookmark list controls with a UITabBarController
-like interface. A segmented control is used to select which child view controller to display.
The navigation lists control is part of the Tools library, so make sure you have added the Tools library to your project .
To create a new navigation lists view controller and display it from another view controller, set the child list view controllers to the PTNavigationListsViewController
class's
listViewControllers
property:
// Initialize a new navigation lists view controller.
let navigationListsViewController = PTNavigationListsViewController(toolManager: toolManager)
// Initialize an annotation, outline, and bookmark view controller with a PTPDFViewCtrl instance.
let annotationViewController = PTAnnotationViewController(pdfViewCtrl: pdfViewCtrl)
annotationViewController.delegate = self
let outlineViewController = PTOutlineViewController(pdfViewCtrl: pdfViewCtrl)
outlineViewController.delegate = self
let bookmarkViewController = PTBookmarkViewController(pdfViewCtrl: pdfViewCtrl)
bookmarkViewController.delegate = self
// Set the array of child view controllers to display.
navigationListsViewController.listViewControllers = [outlineViewController, annotationViewController, bookmarkViewController]
if ( UIDevice.current.userInterfaceIdiom == .pad ) {
navigationListsViewController.modalPresentationStyle = .popover
navigationListsViewController.popoverPresentationController?.barButtonItem = navigationListsButton
} else {
navigationListsViewController.modalPresentationStyle = .fullScreen
}
self.present(navigationListsViewController, animated: true, completion: nil)
PTNavigationListsViewController
's
UIPopoverPresentationController
with either:
sourceRect
AND sourceView
The PTNavigationListViewController
provides a flexible API for displaying only the desired child view controllers. Any of the annotation list, document outline, or user-defined bookmark list view controllers can be removed by omitting them from the listViewControllers
property. It is also possible to add a custom child view controller by adding it to the listViewControllers
array.
To specify which of the child view controllers to display on opening the navigation list control, either the
selectedIndex
, or the
selectedViewController
property can be used.
// Add a custom view controller to an existing navigation list control
let customViewController = UIViewController()
navigationListsViewController.listViewControllers?.append(customViewController)
// Show the navigationListsViewController's annotationViewController on opening
navigationListsViewController.selectedViewController = navigationListsViewController.annotationViewController
// OR specify an index to show from the `listViewControllers` property
navigationListsViewController.selectedIndex = 0
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales