Skip to content

UI and view settings

Common UI and view settings in Foxit PDF SDK for iOS: page layout, night mode, crop mode, page binding direction, localization, and more.

Page layout mode

Set layout with setPageLayoutMode: on FSPDFViewCtrl:

ConstantDescription
PDF_LAYOUT_MODE_SINGLESingle page
PDF_LAYOUT_MODE_TWOTwo pages
PDF_LAYOUT_MODE_REFLOWReflow
PDF_LAYOUT_MODE_TWO_LEFTTwo pages (cover on left)
PDF_LAYOUT_MODE_TWO_RIGHTTwo pages (cover on right)
PDF_LAYOUT_MODE_TWO_MIDDLETwo pages (cover centered)
objc
[pdfViewCtrl setPageLayoutMode:PDF_LAYOUT_MODE_SINGLE];

// Continuous scrolling
[pdfViewCtrl setContinuous:YES];
BOOL isContinuous = [pdfViewCtrl isContinuous];

Night mode

objc
// Enable night mode
pdfViewCtrl.isNightMode = YES;

// Or use color mapping for custom foreground/background
pdfViewCtrl.colorMode = FSRendererColorModeMapping;
pdfViewCtrl.mappingModeBackgroundColor = [UIColor blackColor];
pdfViewCtrl.mappingModeForegroundColor = [UIColor whiteColor];

Zoom

objc
// Get/set zoom level
float zoom = [pdfViewCtrl getZoom];
[pdfViewCtrl setZoom:2.0f];

// Zoom mode
[pdfViewCtrl setZoomMode:PDF_DISPLAY_ZOOMMODE_FITWIDTH];

Crop mode

objc
// Crop to content bounds
[pdfViewCtrl setCropMode:PDF_CROP_MODE_CONTENTSBOX];

// Custom crop region
[pdfViewCtrl setCropPageRect:0 pdfRect:customRect];
[pdfViewCtrl setCropMode:PDF_CROP_MODE_CUSTOMIZED];

// Exit crop mode
[pdfViewCtrl setCropMode:PDF_CROP_MODE_NONE];

Page binding direction

Controls page pairing in two-page layout for right-to-left documents:

objc
// Right to left
pdfViewCtrl.pageBindingEdge = PDF_PAGE_BINDING_RIGHT_EDGE;

// Left to right (default)
pdfViewCtrl.pageBindingEdge = PDF_PAGE_BINDING_LEFT_EDGE;

Localization

The SDK switches UI language via FSLocalization:

objc
#import <FoxitRDK/FSLocalization.h>

// Current language
NSString *lang = [FSLocalization getCurrentLanguage];

// Simplified Chinese
[FSLocalization setCurrentLanguage:@"zh-Hans"];

Page spacing

objc
// Spacing in two-page mode
[pdfViewCtrl setPageSpacing:5];

// Horizontal and vertical spacing separately
[pdfViewCtrl setPageSpacing:2 direction:FS_PAGESPACING_HORIZONTAL];
[pdfViewCtrl setPageSpacing:4 direction:FS_PAGESPACING_VERTICAL];

API reference

See the API reference for FSPDFViewCtrl and FSLocalization.