MDFInternationalization 1.0.4

MDFInternationalization 1.0.4

TestsTested
LangLanguage Obj-CObjective C
License Apache 2
ReleasedLast Release Dec 2017

Maintained by Ian Gordon.


Downloads

Total312,380
Week0
Month59,506

Installs

Apps5,813
Pod Tries2,120
Test Targets263
powered by Segment

GitHub

Stars1
Watchers2
Forks1
Issues1
Contributors1
Pull Requests0

Code

Files7
LOCLines of Code 337


  • By
  • The Material Foundation Authors

MDFInternationalization assists in internationalizing your iOS app or components.

GitHub release
License
Build Status
Carthage compatible

Right-to-Left calculations for CGRects and UIEdgeInsets

A UIView is positioned within its superview in terms of a frame (CGRect) consisting of an
origin and a size. When a device is set to a language that is written from Right-to-Left (RTL),
we often want to mirror the interface around the vertical axis. This library contains
functions to assist in modifying frames and edge insets for RTL.

// To flip a subview's frame horizontally, pass in subview.frame and the width of its parent.
CGRect flippedFrame = MDFRectFlippedHorizontally(originalFrame, CGRectGetWidth(self.bounds));

Mirroring Images

A category on UIImage backports iOS 10's [UIImage imageWithHorizontallyFlippedOrientation] to
earlier versions of iOS.

// To mirror on image, invoke mdf_imageWithHorizontallyFlippedOrientation.
UIImage *mirroredImage = [originalImage mdf_imageWithHorizontallyFlippedOrientation];

Adding semantic context

A category on UIView backports iOS 9's -[UIView semanticContentAttribute] and iOS 10's
-[UIView effectiveUserInterfaceLayoutDirection] to earlier versions of iOS.

// To set a semantic content attribute, set the mdf_semanticContentAttribute property.
lockedLTRView.mdf_semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;

// mdf_semanticContentAttribute is used to calculate the mdf_effectiveUserInterfaceLayoutDirection
if ([customControl mdf_effectiveUserInterfaceLayoutDirection] == UIUserInterfaceLayoutDirectionRightToLeft) {
  // Update customControl's layout to be in RTL mode.
}

Usage

See Examples/Flags for a detailed example of how to use the functionality provided by this library.

License

MDFInternationalization is licensed under the Apache License Version 2.0.