[
  {
    "path": ".gitignore",
    "content": "build/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: objective-c\nosx_image: xcode9\nsudo: false\n\nenv:\n  global:\n    - PROJECT=\"UINavigationItem+Margin.xcodeproj\"\n    - SCHEME=\"UINavigationItem+Margin\"\n    - SDK=\"iphonesimulator11.0\"\n    - ACTION=\"test\"\n  matrix:\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 5S,OS=10.3.1\"\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 6S,OS=10.3.1\"\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 7 Plus,OS=10.3.1\"\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 5S,OS=11.0\"\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 6S,OS=11.0\"\n    - IOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 7 Plus,OS=11.0\"\n\nscript:\n  - set -o pipefail && xcodebuild clean $ACTION -project \"$PROJECT\" -scheme \"$SCHEME\" -sdk \"$SDK\" -destination \"$IOS_DESTINATION\" -configuration Debug CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO | xcpretty -c\n"
  },
  {
    "path": "Example/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  Example\n//\n//  Created by Suyeol Jeon on 02/04/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n  var window: UIWindow?\n\n\n  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n    // Override point for customization after application launch.\n    return true\n  }\n\n  func applicationWillResignActive(_ application: UIApplication) {\n    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n    // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.\n  }\n\n  func applicationDidEnterBackground(_ application: UIApplication) {\n    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n  }\n\n  func applicationWillEnterForeground(_ application: UIApplication) {\n    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.\n  }\n\n  func applicationDidBecomeActive(_ application: UIApplication) {\n    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n  }\n\n  func applicationWillTerminate(_ application: UIApplication) {\n    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n  }\n\n\n}\n\n"
  },
  {
    "path": "Example/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example/Base.lproj/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"11134\" systemVersion=\"15F34\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"11106\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"Llm-lL-Icb\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"xb3-aO-Qok\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"53\" y=\"375\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Example/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"12118\" systemVersion=\"16E195\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" colorMatched=\"YES\" initialViewController=\"7Sf-4P-0Oe\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"12086\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"tne-QT-ifu\">\n            <objects>\n                <viewController id=\"BYZ-38-t0r\" customClass=\"ViewController\" customModule=\"Example\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"y3c-jy-aDJ\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"wfy-db-euE\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"8bC-Xf-vdC\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"szs-qa-UrL\">\n                        <barButtonItem key=\"leftBarButtonItem\" systemItem=\"edit\" id=\"C2Q-iF-ddS\"/>\n                        <barButtonItem key=\"rightBarButtonItem\" systemItem=\"done\" id=\"2FT-dP-01c\"/>\n                    </navigationItem>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"dkx-z0-nzr\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"1537\" y=\"-546\"/>\n        </scene>\n        <!--Navigation Controller-->\n        <scene sceneID=\"BTd-xo-xrw\">\n            <objects>\n                <navigationController automaticallyAdjustsScrollViewInsets=\"NO\" id=\"7Sf-4P-0Oe\" sceneMemberID=\"viewController\">\n                    <toolbarItems/>\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" id=\"Wz4-GG-Bme\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <nil name=\"viewControllers\"/>\n                    <connections>\n                        <segue destination=\"BYZ-38-t0r\" kind=\"relationship\" relationship=\"rootViewController\" id=\"6mY-sw-k8r\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"U6J-J3-vD5\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"725.60000000000002\" y=\"-545.57721139430294\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Example/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Example/ViewController.swift",
    "content": "//\n//  ViewController.swift\n//  Example\n//\n//  Created by Suyeol Jeon on 02/04/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\nimport UIKit\nimport UINavigationItem_Margin\n\nclass ViewController: UIViewController {\n\n  override func viewDidLoad() {\n    super.viewDidLoad()\n    self.navigationItem.leftMargin = 0\n    self.navigationItem.rightMargin = 0\n  }\n\n}\n\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Suyeol Jeon (xoul.kr)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "UINavigationItem+Margin\n=======================\n\n[![Build Status](https://travis-ci.org/devxoul/UINavigationItem-Margin.svg?branch=master)](https://travis-ci.org/devxoul/UINavigationItem-Margin)\n[![CocoaPods](http://img.shields.io/cocoapods/v/UINavigationItem+Margin.svg?style=flat)](http://cocoapods.org/?q=name%3AUINavigationItem%2BMargin%20author%3Adevxoul)\n\nMargin for UINavigationItem.\n\n\nSetting Margins\n---------------\n\nJust set `leftMargin` and `rightMargin` of your UINavigationItem.\n\n```objc\nnavigationItem.leftMargin = 0;\nnavigationItem.rightMargin = 0;\n```\n\n![zero](https://cloud.githubusercontent.com/assets/931655/5898748/e1d333a0-a595-11e4-85a3-9a492d1d38fc.png)\n\nWow, margin has disappeared.\n\nEven you can do this:\n\n```objc\nnavigationItem.leftMargin = 50;\nnavigationItem.rightMargin = 20;\n```\n\n![ugly](https://cloud.githubusercontent.com/assets/931655/6410361/12d1c69e-beb2-11e4-9cf6-7f7d9469ef09.png)\n\nLooks ugly but works.\n\n\nSystem Margins\n--------------\n\nWant to restore margins? Use `[UINavigationItem systemMargin]`.\n\n```objc\nnavigationItem.leftMargin = [UINavigationItem systemMargin]; // 16 on iOS 7+\nnavigationItem.rightMargin = [UINavigationItem systemMargin];\n```\n\n![system](https://cloud.githubusercontent.com/assets/931655/6410333/d42763d6-beb1-11e4-845e-34002d336034.png)\n\n\nInstallation\n------------\n\nI recommend you to use [CocoaPods](http://cocoapods.org).\n\n**Podfile**\n\n```ruby\npod 'UINavigationItem+Margin'\n```\n\n\nLicense\n-------\n\n**UINavigationItem+Margin** is under MIT license. See the LICENSE file for more info.\n"
  },
  {
    "path": "UINavigationItem+Margin/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>2.0.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "UINavigationItem+Margin/Swizzle.h",
    "content": "//\n//  Swizzle.h\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\nvoid _navigationitem_margin_swizzle_self(Class class, NSString *oldSelectorName);\nvoid _navigationitem_margin_swizzle(Class oldClass, NSString *oldSelectorName, Class newClass);\nvoid swizzleUINavigationBarContentViewIfNeeded(void);\n"
  },
  {
    "path": "UINavigationItem+Margin/Swizzle.m",
    "content": "//\n//  Swizzle.m\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n#import <objc/runtime.h>\n#import \"Swizzle.h\"\n\nvoid _navigationitem_margin_swizzle_full(Class oldClass, NSString *oldSelectorName,\n                                         Class newClass, NSString *newSelectorName) {\n    Method old = class_getInstanceMethod(oldClass, NSSelectorFromString(oldSelectorName));\n    Method new = class_getInstanceMethod(newClass, NSSelectorFromString(newSelectorName));\n    method_exchangeImplementations(old, new);\n}\n\nvoid _navigationitem_margin_swizzle_self(Class class, NSString *oldSelectorName) {\n    _navigationitem_margin_swizzle(class, oldSelectorName, class);\n}\n\nvoid _navigationitem_margin_swizzle(Class oldClass, NSString *oldSelectorName, Class newClass) {\n    NSString *newSelectorName = [NSString stringWithFormat:@\"_navigationitem_margin_%@\", oldSelectorName];\n    _navigationitem_margin_swizzle_full(oldClass, oldSelectorName, newClass, newSelectorName);\n}\n\nvoid _swizzleUINavigationBarContentView() {\n    Class class = NSClassFromString(@\"_UINavigationBarContentView\");\n    if (!class) {\n        return;\n    }\n    _navigationitem_margin_swizzle(class, @\"layoutSubviews\", NSObject.class);\n}\n\nvoid _swizzleUINavigationBarContentViewLayout() {\n    Class class = NSClassFromString(@\"_UINavigationBarContentViewLayout\");\n    if (!class) {\n        return;\n    }\n    _navigationitem_margin_swizzle(class, @\"_updateMarginConstraints\", NSObject.class);\n}\n\nvoid swizzleUINavigationBarContentViewIfNeeded() {\n    static dispatch_once_t onceToken;\n    dispatch_once(&onceToken, ^{\n        _swizzleUINavigationBarContentView();\n        _swizzleUINavigationBarContentViewLayout();\n    });\n}\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigation+Margin.modulemap",
    "content": "framework module UINavigationItem_Margin {\n  umbrella header \"UINavigationItem+Margin.h\"\n\n  export *\n  module * { export * }\n}\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationBarContentView+Margin.h",
    "content": "//\n//  UINavigationBarContentView+Margin.h\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface NSObject (UINavigationBarContentView_Margin)\n@end\n\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationBarContentView+Margin.m",
    "content": "//\n//  UINavigationBarContentView+Margin.m\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\n#import \"UINavigationBarContentViewLayout+Margin.h\"\n#import \"Swizzle.h\"\n\n@implementation NSObject (UINavigationBarContentViewLayout_Margin)\n\nvoid perform(id object, NSString *selectorName)\n{\n    SEL selector = NSSelectorFromString(selectorName);\n    IMP imp = [object methodForSelector:selector];\n    void (*func)(id, SEL) = (void *)imp;\n    func(object, selector);\n}\n\n- (void)_navigationitem_margin_layoutSubviews {\n    [self _navigationitem_margin_layoutSubviews];\n    if (![NSStringFromClass(self.class) isEqualToString:@\"_UINavigationBarContentView\"]) {\n        return;\n    }\n\n    id layout = [self valueForKey:@\"_layout\"];\n    if (!layout) {\n        return;\n    }\n    perform(layout, @\"_updateMarginConstraints\");\n}\n\n@end\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationBarContentViewLayout+Margin.h",
    "content": "//\n//  UINavigationBarContentViewLayout+Margin.h\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface NSObject (UINavigationBarContentViewLayout_Margin)\n@end\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationBarContentViewLayout+Margin.m",
    "content": "//\n//  UINavigationBarContentViewLayout+Margin.m\n//  UINavigationItem+Margin\n//\n//  Created by Suyeol Jeon on 17/10/2017.\n//  Copyright © 2017 Suyeol Jeon. All rights reserved.\n//\n\n#import \"UINavigationBarContentViewLayout+Margin.h\"\n#import \"Swizzle.h\"\n\n@implementation NSObject (UINavigationBarContentViewLayout_Margin)\n\n- (void)_navigationitem_margin__updateMarginConstraints {\n    [self _navigationitem_margin__updateMarginConstraints];\n    [self _manipulateLeadingBarConstraints];\n    [self _manipulateTrailingBarConstraints];\n}\n\n- (void)_manipulateLeadingBarConstraints {\n    NSArray<NSLayoutConstraint *> *leadingBarConstraints = [self valueForKey:@\"_leadingBarConstraints\"];\n    if (!leadingBarConstraints) {\n        return;\n    }\n    for (NSLayoutConstraint *constraint in leadingBarConstraints) {\n        if (constraint.firstAttribute == NSLayoutAttributeLeading) {\n            constraint.constant = -16;\n        }\n    }\n}\n\n- (void)_manipulateTrailingBarConstraints {\n    NSArray<NSLayoutConstraint *> *trailingBarConstraints = [self valueForKey:@\"_trailingBarConstraints\"];\n    if (!trailingBarConstraints) {\n        return;\n    }\n    for (NSLayoutConstraint *constraint in trailingBarConstraints) {\n        if (constraint.firstAttribute == NSLayoutAttributeTrailing) {\n            constraint.constant = 16;\n        }\n    }\n}\n\n@end\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationItem+Margin.h",
    "content": "//\n// The MIT License (MIT)\n//\n// Copyright (c) 2015 Suyeol Jeon (xoul.kr)\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n//\n\n#import <UIKit/UIKit.h>\n#import \"UINavigationBarContentViewLayout+Margin.h\"\n\nFOUNDATION_EXPORT double UINavigationItem_MarginVersionNumber;\nFOUNDATION_EXPORT const unsigned char UINavigationItem_MarginVersionString[];\n\n@interface UINavigationItem (Margin)\n\n@property (nonatomic, assign) CGFloat leftMargin;\n@property (nonatomic, assign) CGFloat rightMargin;\n\n+ (CGFloat)systemMargin;\n\n@end\n"
  },
  {
    "path": "UINavigationItem+Margin/UINavigationItem+Margin.m",
    "content": "//\n// The MIT License (MIT)\n//\n// Copyright (c) 2015 Suyeol Jeon (xoul.kr)\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n//\n\n#import <execinfo.h>\n#import <objc/runtime.h>\n\n#import \"UINavigationItem+Margin.h\"\n#import \"Swizzle.h\"\n\n#define isCalledFromSystem (BOOL)^(void) { \\\n    int depth = 3; \\\n    void *callstack[depth]; \\\n    int frames = backtrace(callstack, depth); \\\n    char **symbols = backtrace_symbols(callstack, frames); \\\n    int contains = 0; \\\n    if (strstr(symbols[depth - 1], \"UIKit\") != NULL) { \\\n        contains = 1; \\\n    } \\\n    free(symbols); \\\n    return contains; \\\n}()\n#define iOS11 (BOOL)^(void){ \\\n    if (@available(iOS 11, *)) { \\\n        return YES; \\\n    } else { \\\n        return NO; \\\n    } \\\n}()\n\n@implementation UINavigationItem (Margin)\n\n+ (void)load {\n    // left\n    _navigationitem_margin_swizzle_self(self, @\"leftBarButtonItem\");\n    _navigationitem_margin_swizzle_self(self, @\"setLeftBarButtonItem:animated:\");\n    _navigationitem_margin_swizzle_self(self, @\"leftBarButtonItems\");\n    _navigationitem_margin_swizzle_self(self, @\"setLeftBarButtonItems:animated:\");\n\n    // right\n    _navigationitem_margin_swizzle_self(self, @\"rightBarButtonItem\");\n    _navigationitem_margin_swizzle_self(self, @\"setRightBarButtonItem:animated:\");\n    _navigationitem_margin_swizzle_self(self, @\"rightBarButtonItems\");\n    _navigationitem_margin_swizzle_self(self, @\"setRightBarButtonItems:animated:\");\n}\n\n#pragma mark - Global\n\n+ (CGFloat)systemMargin {\n    return 16; // iOS 7~\n}\n\n\n#pragma mark - Spacer\n\n- (UIBarButtonItem *)spacerForItem:(UIBarButtonItem *)item withMargin:(CGFloat)margin {\n    UIBarButtonSystemItem type = UIBarButtonSystemItemFixedSpace;\n    UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:type target:self action:nil];\n    if (iOS11) {\n        spacer.width = margin + 8;\n    } else {\n        spacer.width = margin - [self.class systemMargin];\n    }\n\n    CGFloat screenWidth = UIScreen.mainScreen.bounds.size.width;\n\n    // a margin of private class `UINavigationButton` is different from custom view\n    if (!iOS11 && !item.customView && screenWidth < 375) { // 3.5 and 4 inch\n        spacer.width += 8;\n    } else if (screenWidth >= 414) { // 5.5 inch\n        spacer.width -= 4;\n    }\n    return spacer;\n}\n\n- (UIBarButtonItem *)leftSpacerForItem:(UIBarButtonItem *)item {\n    return [self spacerForItem:item withMargin:self.leftMargin];\n}\n\n- (UIBarButtonItem *)rightSpacerForItem:(UIBarButtonItem *)item {\n    return [self spacerForItem:item withMargin:self.rightMargin];\n}\n\n\n#pragma mark - Margin\n\n- (void)initializeMarginsIfNeeded {\n    NSNumber *leftMargin = objc_getAssociatedObject(self, @selector(leftMargin));\n    if (!leftMargin) {\n        self.leftMargin = [self.class systemMargin];\n    }\n\n    NSNumber *rightMargin = objc_getAssociatedObject(self, @selector(rightMargin));\n    if (!rightMargin) {\n        self.rightMargin = [self.class systemMargin];\n    }\n}\n\n- (CGFloat)leftMargin {\n    [self initializeMarginsIfNeeded];\n    NSNumber *value = objc_getAssociatedObject(self, @selector(leftMargin));\n    return value.floatValue;\n}\n\n- (void)setLeftMargin:(CGFloat)leftMargin {\n    swizzleUINavigationBarContentViewIfNeeded();\n    objc_setAssociatedObject(self, @selector(leftMargin), @(leftMargin), OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n    self.leftBarButtonItems = self.leftBarButtonItems;\n}\n\n- (CGFloat)rightMargin {\n    [self initializeMarginsIfNeeded];\n    NSNumber *value = objc_getAssociatedObject(self, @selector(rightMargin));\n    return value.floatValue;\n}\n\n- (void)setRightMargin:(CGFloat)rightMargin {\n    swizzleUINavigationBarContentViewIfNeeded();\n    objc_setAssociatedObject(self, @selector(rightMargin), @(rightMargin), OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n    self.rightBarButtonItems = self.rightBarButtonItems;\n}\n\n\n#pragma mark - Original Bar Button Items\n\n- (NSArray *)originalLeftBarButtonItems {\n    NSArray *items = objc_getAssociatedObject(self, @selector(originalLeftBarButtonItems));\n    if (!items) {\n        items = [self _navigationitem_margin_leftBarButtonItems];\n        self.originalLeftBarButtonItems = items;\n    }\n    return items;\n}\n\n- (void)setOriginalLeftBarButtonItems:(NSArray *)items {\n    objc_setAssociatedObject(self, @selector(originalLeftBarButtonItems), items, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n- (NSArray *)originalRightBarButtonItems {\n    NSArray *items = objc_getAssociatedObject(self, @selector(originalRightBarButtonItems));\n    if (!items) {\n        items = [self _navigationitem_margin_rightBarButtonItems];\n        self.originalRightBarButtonItems = items;\n    }\n    return items;\n}\n\n- (void)setOriginalRightBarButtonItems:(NSArray *)items {\n    objc_setAssociatedObject(self, @selector(originalRightBarButtonItems), items, OBJC_ASSOCIATION_RETAIN_NONATOMIC);\n}\n\n\n#pragma mark - Bar Button Item\n\n- (UIBarButtonItem *)_navigationitem_margin_leftBarButtonItem {\n    if (iOS11 && isCalledFromSystem) {\n        return [self _navigationitem_margin_leftBarButtonItem];\n    } else {\n        return self.originalLeftBarButtonItems.firstObject;\n    }\n}\n\n- (void)_navigationitem_margin_setLeftBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated {\n    if (!item) {\n        [self setLeftBarButtonItems:nil animated:animated];\n    } else {\n        [self setLeftBarButtonItems:@[item] animated:animated];\n    }\n}\n\n- (UIBarButtonItem *)_navigationitem_margin_rightBarButtonItem {\n    if (iOS11 && isCalledFromSystem) {\n        return [self _navigationitem_margin_rightBarButtonItem];\n    } else {\n        return self.originalRightBarButtonItems.firstObject;\n    }\n}\n\n- (void)_navigationitem_margin_setRightBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated {\n    if (!item) {\n        [self setRightBarButtonItems:nil animated:animated];\n    } else {\n        [self setRightBarButtonItems:@[item] animated:animated];\n    }\n}\n\n\n#pragma mark - Bar Button Items\n\n- (NSArray *)_navigationitem_margin_leftBarButtonItems {\n    if (iOS11 && isCalledFromSystem) {\n        return [self _navigationitem_margin_leftBarButtonItems];\n    } else {\n        return self.originalLeftBarButtonItems;\n    }\n}\n\n- (void)_navigationitem_margin_setLeftBarButtonItems:(NSArray *)items animated:(BOOL)animated {\n    if (items.count) {\n        self.originalLeftBarButtonItems = items;\n        UIBarButtonItem *spacer = [self leftSpacerForItem:items.firstObject];\n        NSArray *itemsWithMargin = [@[spacer] arrayByAddingObjectsFromArray:items];\n        [self _navigationitem_margin_setLeftBarButtonItems:itemsWithMargin animated:animated];\n    } else {\n        self.originalLeftBarButtonItems = nil;\n        [self _navigationitem_margin_setLeftBarButtonItems:nil animated:animated];\n    }\n}\n\n- (NSArray *)_navigationitem_margin_rightBarButtonItems {\n    if (iOS11 && isCalledFromSystem) {\n        return [self _navigationitem_margin_rightBarButtonItems];\n    } else {\n        return self.originalRightBarButtonItems;\n    }\n}\n\n- (void)_navigationitem_margin_setRightBarButtonItems:(NSArray *)items animated:(BOOL)animated {\n    if (items.count) {\n        self.originalRightBarButtonItems = items;\n        UIBarButtonItem *spacer = [self rightSpacerForItem:items.firstObject];\n        NSArray *itemsWithMargin = [@[spacer] arrayByAddingObjectsFromArray:items];\n        [self _navigationitem_margin_setRightBarButtonItems:itemsWithMargin animated:animated];\n    } else {\n        self.originalRightBarButtonItems = nil;\n        [self _navigationitem_margin_setRightBarButtonItems:nil animated:animated];\n    }\n}\n\n@end\n"
  },
  {
    "path": "UINavigationItem+Margin.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name             = 'UINavigationItem+Margin'\n  s.version          = '2.1.1'\n  s.summary          = 'Margin for UINavigationItem.'\n  s.homepage         = 'https://github.com/devxoul/UINavigationItem-Margin'\n  s.license          = { :type => 'MIT', :file => 'LICENSE' }\n  s.author           = { 'Suyeol Jeon' => 'devxoul@gmail.com' }\n  s.source           = { :git => 'https://github.com/devxoul/UINavigationItem-Margin.git', :tag => s.version.to_s }\n  s.source_files     = 'UINavigationItem+Margin/*.{h,m}'\n  s.frameworks       = 'UIKit'\n  s.requires_arc     = true\n\n  s.ios.deployment_target = '7.0'\nend\n"
  },
  {
    "path": "UINavigationItem+Margin.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t0344E2FC1A76497D0099CB48 /* UINavigationItem+Margin.h in Headers */ = {isa = PBXBuildFile; fileRef = 0344E2FB1A76497D0099CB48 /* UINavigationItem+Margin.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t0344E3091A76497D0099CB48 /* UINavigationItem_MarginTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0344E3081A76497D0099CB48 /* UINavigationItem_MarginTests.m */; };\n\t\t0344E3131A7649CE0099CB48 /* UINavigationItem+Margin.m in Sources */ = {isa = PBXBuildFile; fileRef = 0344E3121A7649CE0099CB48 /* UINavigationItem+Margin.m */; };\n\t\t035A065D1E903C7800C4680A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035A065C1E903C7800C4680A /* AppDelegate.swift */; };\n\t\t035A065F1E903C7800C4680A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035A065E1E903C7800C4680A /* ViewController.swift */; };\n\t\t035A06621E903C7800C4680A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 035A06601E903C7800C4680A /* Main.storyboard */; };\n\t\t035A06641E903C7800C4680A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 035A06631E903C7800C4680A /* Assets.xcassets */; };\n\t\t035A06671E903C7800C4680A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 035A06651E903C7800C4680A /* LaunchScreen.storyboard */; };\n\t\t035A066C1E903CA000C4680A /* UINavigationItem_Margin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */; };\n\t\t035A066D1E903CA000C4680A /* UINavigationItem_Margin.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t03624A911F964224005B2184 /* UINavigationBarContentView+Margin.m in Sources */ = {isa = PBXBuildFile; fileRef = 03624A901F964224005B2184 /* UINavigationBarContentView+Margin.m */; };\n\t\t03A5A97A1F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.h in Headers */ = {isa = PBXBuildFile; fileRef = 03A5A9781F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t03A5A97B1F95E90F002357EF /* UINavigationBarContentViewLayout+Margin.m in Sources */ = {isa = PBXBuildFile; fileRef = 03A5A9791F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.m */; };\n\t\t03A5A97E1F95E9CB002357EF /* Swizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 03A5A97D1F95E9CB002357EF /* Swizzle.m */; };\n\t\t03A5A97F1F95EAE6002357EF /* Swizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 03A5A97C1F95E99A002357EF /* Swizzle.h */; settings = {ATTRIBUTES = (Private, ); }; };\n\t\t03A5A9951F96234D002357EF /* UINavigationItem_Margin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t035A066E1E903CA000C4680A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 0344E2ED1A76497D0099CB48 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 0344E2F51A76497D0099CB48;\n\t\t\tremoteInfo = \"UINavigationItem+Margin\";\n\t\t};\n\t\t03A5A9921F96230D002357EF /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 0344E2ED1A76497D0099CB48 /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 0344E2F51A76497D0099CB48;\n\t\t\tremoteInfo = \"UINavigationItem+Margin\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\t035A06701E903CA100C4680A /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t035A066D1E903CA000C4680A /* UINavigationItem_Margin.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UINavigationItem_Margin.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t0344E2FA1A76497D0099CB48 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t0344E2FB1A76497D0099CB48 /* UINavigationItem+Margin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UINavigationItem+Margin.h\"; sourceTree = \"<group>\"; };\n\t\t0344E3011A76497D0099CB48 /* UINavigationItem+MarginTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"UINavigationItem+MarginTests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t0344E3071A76497D0099CB48 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t0344E3081A76497D0099CB48 /* UINavigationItem_MarginTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UINavigationItem_MarginTests.m; sourceTree = \"<group>\"; };\n\t\t0344E3121A7649CE0099CB48 /* UINavigationItem+Margin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"UINavigationItem+Margin.m\"; sourceTree = \"<group>\"; };\n\t\t035A06551E903C0400C4680A /* UINavigation+Margin.modulemap */ = {isa = PBXFileReference; lastKnownFileType = \"sourcecode.module-map\"; path = \"UINavigation+Margin.modulemap\"; sourceTree = \"<group>\"; };\n\t\t035A065A1E903C7800C4680A /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t035A065C1E903C7800C4680A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t035A065E1E903C7800C4680A /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = \"<group>\"; };\n\t\t035A06611E903C7800C4680A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t035A06631E903C7800C4680A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = \"<group>\"; };\n\t\t035A06661E903C7800C4680A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\t035A06681E903C7800C4680A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t03624A8F1F96421A005B2184 /* UINavigationBarContentView+Margin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UINavigationBarContentView+Margin.h\"; sourceTree = \"<group>\"; };\n\t\t03624A901F964224005B2184 /* UINavigationBarContentView+Margin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = \"UINavigationBarContentView+Margin.m\"; sourceTree = \"<group>\"; };\n\t\t03A5A9781F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UINavigationBarContentViewLayout+Margin.h\"; sourceTree = \"<group>\"; };\n\t\t03A5A9791F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = \"UINavigationBarContentViewLayout+Margin.m\"; sourceTree = \"<group>\"; };\n\t\t03A5A97C1F95E99A002357EF /* Swizzle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Swizzle.h; sourceTree = \"<group>\"; };\n\t\t03A5A97D1F95E9CB002357EF /* Swizzle.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Swizzle.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t0344E2F21A76497D0099CB48 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t0344E2FE1A76497D0099CB48 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t03A5A9951F96234D002357EF /* UINavigationItem_Margin.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t035A06571E903C7800C4680A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t035A066C1E903CA000C4680A /* UINavigationItem_Margin.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t0344E2EC1A76497D0099CB48 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0344E2F81A76497D0099CB48 /* UINavigationItem+Margin */,\n\t\t\t\t0344E3051A76497D0099CB48 /* UINavigationItem+MarginTests */,\n\t\t\t\t035A065B1E903C7800C4680A /* Example */,\n\t\t\t\t0344E2F71A76497D0099CB48 /* Products */,\n\t\t\t\t03A5A9941F96234D002357EF /* Frameworks */,\n\t\t\t);\n\t\t\tindentWidth = 4;\n\t\t\tsourceTree = \"<group>\";\n\t\t\ttabWidth = 4;\n\t\t};\n\t\t0344E2F71A76497D0099CB48 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */,\n\t\t\t\t0344E3011A76497D0099CB48 /* UINavigationItem+MarginTests.xctest */,\n\t\t\t\t035A065A1E903C7800C4680A /* Example.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t0344E2F81A76497D0099CB48 /* UINavigationItem+Margin */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t03A5A97C1F95E99A002357EF /* Swizzle.h */,\n\t\t\t\t03A5A97D1F95E9CB002357EF /* Swizzle.m */,\n\t\t\t\t0344E2FB1A76497D0099CB48 /* UINavigationItem+Margin.h */,\n\t\t\t\t0344E3121A7649CE0099CB48 /* UINavigationItem+Margin.m */,\n\t\t\t\t03624A8F1F96421A005B2184 /* UINavigationBarContentView+Margin.h */,\n\t\t\t\t03624A901F964224005B2184 /* UINavigationBarContentView+Margin.m */,\n\t\t\t\t03A5A9781F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.h */,\n\t\t\t\t03A5A9791F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.m */,\n\t\t\t\t0344E2F91A76497D0099CB48 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = \"UINavigationItem+Margin\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t0344E2F91A76497D0099CB48 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0344E2FA1A76497D0099CB48 /* Info.plist */,\n\t\t\t\t035A06551E903C0400C4680A /* UINavigation+Margin.modulemap */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t0344E3051A76497D0099CB48 /* UINavigationItem+MarginTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0344E3081A76497D0099CB48 /* UINavigationItem_MarginTests.m */,\n\t\t\t\t0344E3061A76497D0099CB48 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = \"UINavigationItem+MarginTests\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t0344E3061A76497D0099CB48 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0344E3071A76497D0099CB48 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t035A065B1E903C7800C4680A /* Example */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t035A065C1E903C7800C4680A /* AppDelegate.swift */,\n\t\t\t\t035A065E1E903C7800C4680A /* ViewController.swift */,\n\t\t\t\t035A06601E903C7800C4680A /* Main.storyboard */,\n\t\t\t\t035A06631E903C7800C4680A /* Assets.xcassets */,\n\t\t\t\t035A06651E903C7800C4680A /* LaunchScreen.storyboard */,\n\t\t\t\t035A06681E903C7800C4680A /* Info.plist */,\n\t\t\t);\n\t\t\tpath = Example;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t03A5A9941F96234D002357EF /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t0344E2F31A76497D0099CB48 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t03A5A97A1F95E90E002357EF /* UINavigationBarContentViewLayout+Margin.h in Headers */,\n\t\t\t\t0344E2FC1A76497D0099CB48 /* UINavigationItem+Margin.h in Headers */,\n\t\t\t\t03A5A97F1F95EAE6002357EF /* Swizzle.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t0344E2F51A76497D0099CB48 /* UINavigationItem+Margin */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 0344E30C1A76497D0099CB48 /* Build configuration list for PBXNativeTarget \"UINavigationItem+Margin\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0344E2F11A76497D0099CB48 /* Sources */,\n\t\t\t\t0344E2F21A76497D0099CB48 /* Frameworks */,\n\t\t\t\t0344E2F31A76497D0099CB48 /* Headers */,\n\t\t\t\t0344E2F41A76497D0099CB48 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"UINavigationItem+Margin\";\n\t\t\tproductName = \"UINavigationItem+Margin\";\n\t\t\tproductReference = 0344E2F61A76497D0099CB48 /* UINavigationItem_Margin.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t0344E3001A76497D0099CB48 /* UINavigationItem+MarginTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 0344E30F1A76497D0099CB48 /* Build configuration list for PBXNativeTarget \"UINavigationItem+MarginTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0344E2FD1A76497D0099CB48 /* Sources */,\n\t\t\t\t0344E2FE1A76497D0099CB48 /* Frameworks */,\n\t\t\t\t0344E2FF1A76497D0099CB48 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t03A5A9931F96230D002357EF /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"UINavigationItem+MarginTests\";\n\t\t\tproductName = \"UINavigationItem+MarginTests\";\n\t\t\tproductReference = 0344E3011A76497D0099CB48 /* UINavigationItem+MarginTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t035A06591E903C7800C4680A /* Example */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 035A06691E903C7800C4680A /* Build configuration list for PBXNativeTarget \"Example\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t035A06561E903C7800C4680A /* Sources */,\n\t\t\t\t035A06571E903C7800C4680A /* Frameworks */,\n\t\t\t\t035A06581E903C7800C4680A /* Resources */,\n\t\t\t\t035A06701E903CA100C4680A /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t035A066F1E903CA000C4680A /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = Example;\n\t\t\tproductName = Example;\n\t\t\tproductReference = 035A065A1E903C7800C4680A /* Example.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t0344E2ED1A76497D0099CB48 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0830;\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tORGANIZATIONNAME = \"Suyeol Jeon\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t0344E2F51A76497D0099CB48 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.2;\n\t\t\t\t\t};\n\t\t\t\t\t0344E3001A76497D0099CB48 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.2;\n\t\t\t\t\t};\n\t\t\t\t\t035A06591E903C7800C4680A = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.3;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 0344E2F01A76497D0099CB48 /* Build configuration list for PBXProject \"UINavigationItem+Margin\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = 0344E2EC1A76497D0099CB48;\n\t\t\tproductRefGroup = 0344E2F71A76497D0099CB48 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t0344E2F51A76497D0099CB48 /* UINavigationItem+Margin */,\n\t\t\t\t0344E3001A76497D0099CB48 /* UINavigationItem+MarginTests */,\n\t\t\t\t035A06591E903C7800C4680A /* Example */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t0344E2F41A76497D0099CB48 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t0344E2FF1A76497D0099CB48 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t035A06581E903C7800C4680A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t035A06671E903C7800C4680A /* LaunchScreen.storyboard in Resources */,\n\t\t\t\t035A06641E903C7800C4680A /* Assets.xcassets in Resources */,\n\t\t\t\t035A06621E903C7800C4680A /* Main.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t0344E2F11A76497D0099CB48 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t03624A911F964224005B2184 /* UINavigationBarContentView+Margin.m in Sources */,\n\t\t\t\t03A5A97E1F95E9CB002357EF /* Swizzle.m in Sources */,\n\t\t\t\t0344E3131A7649CE0099CB48 /* UINavigationItem+Margin.m in Sources */,\n\t\t\t\t03A5A97B1F95E90F002357EF /* UINavigationBarContentViewLayout+Margin.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t0344E2FD1A76497D0099CB48 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t0344E3091A76497D0099CB48 /* UINavigationItem_MarginTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t035A06561E903C7800C4680A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t035A065F1E903C7800C4680A /* ViewController.swift in Sources */,\n\t\t\t\t035A065D1E903C7800C4680A /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t035A066F1E903CA000C4680A /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 0344E2F51A76497D0099CB48 /* UINavigationItem+Margin */;\n\t\t\ttargetProxy = 035A066E1E903CA000C4680A /* PBXContainerItemProxy */;\n\t\t};\n\t\t03A5A9931F96230D002357EF /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 0344E2F51A76497D0099CB48 /* UINavigationItem+Margin */;\n\t\t\ttargetProxy = 03A5A9921F96230D002357EF /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t035A06601E903C7800C4680A /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t035A06611E903C7800C4680A /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t035A06651E903C7800C4680A /* LaunchScreen.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t035A06661E903C7800C4680A /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t0344E30A1A76497D0099CB48 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t0344E30B1A76497D0099CB48 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t0344E30D1A76497D0099CB48 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"UINavigationItem+Margin/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = \"UINavigationItem+Margin/UINavigation+Margin.modulemap\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"kr.xoul.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = UINavigationItem_Margin;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t0344E30E1A76497D0099CB48 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"UINavigationItem+Margin/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = \"UINavigationItem+Margin/UINavigation+Margin.modulemap\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"kr.xoul.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = UINavigationItem_Margin;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t0344E3101A76497D0099CB48 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(SDKROOT)/Developer/Library/Frameworks\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = \"UINavigationItem+MarginTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"kr.xoul.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t0344E3111A76497D0099CB48 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(SDKROOT)/Developer/Library/Frameworks\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = \"UINavigationItem+MarginTests/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"kr.xoul.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t035A066A1E903C7800C4680A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = Example/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = kr.xoul.Example;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t035A066B1E903C7800C4680A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tINFOPLIST_FILE = Example/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = kr.xoul.Example;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t0344E2F01A76497D0099CB48 /* Build configuration list for PBXProject \"UINavigationItem+Margin\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t0344E30A1A76497D0099CB48 /* Debug */,\n\t\t\t\t0344E30B1A76497D0099CB48 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t0344E30C1A76497D0099CB48 /* Build configuration list for PBXNativeTarget \"UINavigationItem+Margin\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t0344E30D1A76497D0099CB48 /* Debug */,\n\t\t\t\t0344E30E1A76497D0099CB48 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t0344E30F1A76497D0099CB48 /* Build configuration list for PBXNativeTarget \"UINavigationItem+MarginTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t0344E3101A76497D0099CB48 /* Debug */,\n\t\t\t\t0344E3111A76497D0099CB48 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t035A06691E903C7800C4680A /* Build configuration list for PBXNativeTarget \"Example\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t035A066A1E903C7800C4680A /* Debug */,\n\t\t\t\t035A066B1E903C7800C4680A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 0344E2ED1A76497D0099CB48 /* Project object */;\n}\n"
  },
  {
    "path": "UINavigationItem+Margin.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:UINavigationItem+Margin.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "UINavigationItem+Margin.xcodeproj/xcshareddata/xcschemes/UINavigationItem+Margin.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"0344E2F51A76497D0099CB48\"\n               BuildableName = \"UINavigationItem_Margin.framework\"\n               BlueprintName = \"UINavigationItem+Margin\"\n               ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"0344E3001A76497D0099CB48\"\n               BuildableName = \"UINavigationItem+MarginTests.xctest\"\n               BlueprintName = \"UINavigationItem+MarginTests\"\n               ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"0344E3001A76497D0099CB48\"\n               BuildableName = \"UINavigationItem+MarginTests.xctest\"\n               BlueprintName = \"UINavigationItem+MarginTests\"\n               ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"0344E2F51A76497D0099CB48\"\n            BuildableName = \"UINavigationItem_Margin.framework\"\n            BlueprintName = \"UINavigationItem+Margin\"\n            ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"0344E2F51A76497D0099CB48\"\n            BuildableName = \"UINavigationItem_Margin.framework\"\n            BlueprintName = \"UINavigationItem+Margin\"\n            ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"0344E2F51A76497D0099CB48\"\n            BuildableName = \"UINavigationItem_Margin.framework\"\n            BlueprintName = \"UINavigationItem+Margin\"\n            ReferencedContainer = \"container:UINavigationItem+Margin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "UINavigationItem+MarginTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "UINavigationItem+MarginTests/UINavigationItem_MarginTests.m",
    "content": "//\n// The MIT License (MIT)\n//\n// Copyright (c) 2015 Suyeol Jeon (xoul.kr)\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n//\n\n#import <UIKit/UIKit.h>\n#import <XCTest/XCTest.h>\n#import <UINavigationItem_Margin/UINavigationItem+Margin.h>\n\n@interface UINavigationItem_MarginTests : XCTestCase\n\n@property (nonatomic, strong) UIWindow *window;\n@property (nonatomic, strong) UIViewController *viewController;\n@property (nonatomic, strong) UINavigationController *navigationController;\n\n@property (nonatomic, strong) UIBarButtonItem *editButton;\n@property (nonatomic, strong) UIBarButtonItem *doneButton;\n@property (nonatomic, strong) UIBarButtonItem *customButton;\n\n@end\n\n@implementation UINavigationItem_MarginTests\n\n- (void)setUp\n{\n    [super setUp];\n\n    self.viewController = [[UIViewController alloc] init];\n    self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];\n\n    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];\n\n    // we cannot use `-[UIWindow makeKeyAndVisible:]` on test environment.\n    [self.window addSubview:self.navigationController.view];\n\n    self.editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit\n                                                                    target:nil\n                                                                    action:nil];\n    self.doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone\n                                                                    target:nil\n                                                                    action:nil];\n\n    UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];\n    customView.backgroundColor = [UIColor redColor];\n    self.customButton = [[UIBarButtonItem alloc] initWithCustomView:customView];\n}\n\n- (void)tearDown\n{\n    self.navigationController.navigationItem.leftMargin = [UINavigationItem systemMargin];\n    self.navigationController.navigationItem.rightMargin = [UINavigationItem systemMargin];\n    [super tearDown];\n}\n\n\n#pragma mark -\n\nUIView *rootViewOf(UIView *subview)\n{\n    UIView *rootView = subview;\n    while (rootView.superview != nil) {\n        if ([rootView.superview isKindOfClass:UINavigationBar.class]) {\n            return rootView.superview;\n        }\n        rootView = rootView.superview;\n    }\n    return rootView;\n}\n\nCGRect relativeRect(UIBarButtonItem *barButtonItem)\n{\n    UIButton *button = [barButtonItem valueForKey:@\"view\"];\n    UIView *rootView = rootViewOf(button);\n    return [rootView convertRect:button.frame fromView:button.superview];\n}\n\nCGFloat left(UIBarButtonItem *barButtonItem)\n{\n    return ceil(CGRectGetMinX(relativeRect(barButtonItem)));\n}\n\nCGFloat right(UIBarButtonItem *barButtonItem)\n{\n    UIButton *button = [barButtonItem valueForKey:@\"view\"];\n    UIView *rootView = rootViewOf(button);\n    return ceil(CGRectGetWidth(rootView.bounds) - CGRectGetMaxX(relativeRect(barButtonItem)));\n}\n\nvoid perform(id object, NSString *selectorName)\n{\n    SEL selector = NSSelectorFromString(selectorName);\n    IMP imp = [object methodForSelector:selector];\n    void (*func)(id, SEL) = (void *)imp;\n    func(object, selector);\n}\n\n- (void)layout\n{\n    [self.navigationController.view setNeedsLayout];\n    [self.navigationController.view layoutIfNeeded];\n}\n\n\n#pragma mark - Get/Set Items\n\n- (void)testLeftSetItemGetItem\n{\n    self.viewController.navigationItem.leftBarButtonItem = self.editButton;\n    XCTAssertEqual(self.viewController.navigationItem.leftBarButtonItem, self.editButton);\n}\n\n- (void)testLeftSetItemGetItems\n{\n    self.viewController.navigationItem.leftBarButtonItem = self.editButton;\n    XCTAssertEqual(self.viewController.navigationItem.leftBarButtonItems[0], self.editButton);\n}\n\n- (void)testLeftSetItemsGetItem\n{\n    self.viewController.navigationItem.leftBarButtonItems = @[self.editButton, self.doneButton];\n    XCTAssertEqual(self.viewController.navigationItem.leftBarButtonItem, self.editButton);\n}\n\n- (void)testLeftSetItemsGetItems\n{\n    self.viewController.navigationItem.leftBarButtonItems = @[self.editButton, self.doneButton];\n    XCTAssertEqual(self.viewController.navigationItem.leftBarButtonItems[0], self.editButton);\n}\n\n- (void)testLeftSetNil\n{\n    self.viewController.navigationItem.leftBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.leftBarButtonItem);\n}\n\n- (void)testLeftSetNilAfterSetItem\n{\n    self.viewController.navigationItem.leftBarButtonItem = self.editButton;\n    self.viewController.navigationItem.leftBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.leftBarButtonItem);\n}\n\n- (void)testLeftSetNilAfterSetItems\n{\n    self.viewController.navigationItem.leftBarButtonItems = @[self.editButton, self.doneButton];\n    self.viewController.navigationItem.leftBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.leftBarButtonItem);\n}\n\n- (void)testLeftSetEmptyItems\n{\n    self.viewController.navigationItem.leftBarButtonItems = @[];\n    XCTAssertNil(self.viewController.navigationItem.leftBarButtonItem);\n}\n\n- (void)testRightSetItemGetItem\n{\n    self.viewController.navigationItem.rightBarButtonItem = self.editButton;\n    XCTAssertEqual(self.viewController.navigationItem.rightBarButtonItem, self.editButton);\n}\n\n- (void)testRightSetItemGetItems\n{\n    self.viewController.navigationItem.rightBarButtonItem = self.editButton;\n    XCTAssertEqual(self.viewController.navigationItem.rightBarButtonItems[0], self.editButton);\n}\n\n- (void)testRightSetItemsGetItem\n{\n    self.viewController.navigationItem.rightBarButtonItems = @[self.editButton, self.doneButton];\n    XCTAssertEqual(self.viewController.navigationItem.rightBarButtonItem, self.editButton);\n}\n\n- (void)testRightSetItemsGetItems\n{\n    self.viewController.navigationItem.rightBarButtonItems = @[self.editButton, self.doneButton];\n    XCTAssertEqual(self.viewController.navigationItem.rightBarButtonItems[0], self.editButton);\n}\n\n- (void)testRightSetNil\n{\n    self.viewController.navigationItem.rightBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.rightBarButtonItem);\n}\n\n- (void)testRightSetNilAfterSetItem\n{\n    self.viewController.navigationItem.rightBarButtonItem = self.doneButton;\n    self.viewController.navigationItem.rightBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.rightBarButtonItem);\n}\n\n- (void)testRightSetNilAfterSetItems\n{\n    self.viewController.navigationItem.rightBarButtonItems = @[self.editButton, self.doneButton];\n    self.viewController.navigationItem.rightBarButtonItem = nil;\n    XCTAssertNil(self.viewController.navigationItem.rightBarButtonItem);\n}\n\n- (void)testRightSetEmptyItems\n{\n    self.viewController.navigationItem.rightBarButtonItems = @[];\n    XCTAssertNil(self.viewController.navigationItem.rightBarButtonItem);\n}\n\n\n#pragma mark - Default Margin\n\n- (void)testDefaultLeftMargin\n{\n    XCTAssertEqual(self.viewController.navigationItem.leftMargin, [UINavigationItem systemMargin]);\n}\n\n- (void)testDefaultRightMargin\n{\n    XCTAssertEqual(self.viewController.navigationItem.rightMargin, [UINavigationItem systemMargin]);\n}\n\n\n#pragma mark - UINavigationItem\n\n- (void)testLeftMargin_UINavigationItem\n{\n    self.viewController.navigationItem.leftMargin = 10;\n    self.viewController.navigationItem.leftBarButtonItem = self.editButton;\n    [self layout];\n    XCTAssertEqual(left(self.viewController.navigationItem.leftBarButtonItem), 10);\n}\n\n- (void)testRightMargin_UINavigationItem\n{\n    self.viewController.navigationItem.rightMargin = 11;\n    self.viewController.navigationItem.rightBarButtonItem = self.doneButton;\n    [self layout];\n    XCTAssertEqual(right(self.viewController.navigationItem.rightBarButtonItem), 11);\n}\n\n- (void)testLeftMargin_UINavigationItem_later\n{\n    self.viewController.navigationItem.leftBarButtonItem = self.editButton;\n    self.viewController.navigationItem.leftMargin = 12;\n    [self layout];\n    XCTAssertEqual(left(self.viewController.navigationItem.leftBarButtonItem), 12);\n}\n\n- (void)testRightMargin_UINavigationItem_later\n{\n    self.viewController.navigationItem.rightMargin = 13;\n    self.viewController.navigationItem.rightBarButtonItem = self.doneButton;\n    [self layout];\n    XCTAssertEqual(right(self.viewController.navigationItem.rightBarButtonItem), 13);\n}\n\n\n#pragma mark - Custom View\n\n- (void)testLeftMargin_customView\n{\n    self.viewController.navigationItem.leftMargin = 10;\n    self.viewController.navigationItem.leftBarButtonItem = self.customButton;\n    [self layout];\n    XCTAssertEqual(left(self.viewController.navigationItem.leftBarButtonItem), 10);\n}\n\n- (void)testRightMargin_customView\n{\n    self.viewController.navigationItem.rightMargin = 10;\n    self.viewController.navigationItem.rightBarButtonItem = self.customButton;\n    [self layout];\n    XCTAssertEqual(right(self.viewController.navigationItem.rightBarButtonItem), 10);\n}\n\n- (void)testLeftMargin_customView_later\n{\n    self.viewController.navigationItem.leftBarButtonItem = self.customButton;\n    self.viewController.navigationItem.leftMargin = 10;\n    [self layout];\n    XCTAssertEqual(left(self.viewController.navigationItem.leftBarButtonItem), 10);\n}\n\n- (void)testRightMargin_customView_later\n{\n    self.viewController.navigationItem.rightBarButtonItem = self.customButton;\n    self.viewController.navigationItem.rightMargin = 10;\n    [self layout];\n    XCTAssertEqual(right(self.viewController.navigationItem.rightBarButtonItem), 10);\n}\n\n@end\n"
  }
]