Skip to content

Commit aac2713

Browse files
author
Baris Sencan
committed
Merge pull request #4 from isair/feature/layout-guides
Layout Guide Properties
2 parents b6994a5 + c2af10b commit aac2713

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

ManualLayout.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
/* Begin PBXBuildFile section */
1010
5F67BC0A1A9D43FE00347483 /* FastAccessTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F67BC091A9D43FE00347483 /* FastAccessTests.swift */; };
11+
5F67BC3F1A9E970300347483 /* UIViewController+LayoutGuides.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F67BC3E1A9E970300347483 /* UIViewController+LayoutGuides.swift */; };
1112
5F875C581A9BC8BF003CACDD /* Enums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F875C571A9BC8BF003CACDD /* Enums.swift */; };
1213
5F875C5B1A9BCBB2003CACDD /* UIView+ManualLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F875C5A1A9BCBB2003CACDD /* UIView+ManualLayout.swift */; };
1314
5F875C5F1A9BD55D003CACDD /* ManualLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F875C5E1A9BD55D003CACDD /* ManualLayout.swift */; };
@@ -32,6 +33,7 @@
3233

3334
/* Begin PBXFileReference section */
3435
5F67BC091A9D43FE00347483 /* FastAccessTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FastAccessTests.swift; sourceTree = "<group>"; };
36+
5F67BC3E1A9E970300347483 /* UIViewController+LayoutGuides.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+LayoutGuides.swift"; sourceTree = "<group>"; };
3537
5F875C571A9BC8BF003CACDD /* Enums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Enums.swift; sourceTree = "<group>"; };
3638
5F875C5A1A9BCBB2003CACDD /* UIView+ManualLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIView+ManualLayout.swift"; sourceTree = "<group>"; };
3739
5F875C5E1A9BD55D003CACDD /* ManualLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManualLayout.swift; sourceTree = "<group>"; };
@@ -94,6 +96,7 @@
9496
5F875C6E1A9BFE01003CACDD /* CALayer+ManualLayout.swift */,
9597
5F875C6C1A9BFC7E003CACDD /* UIView+FastAccess.swift */,
9698
5F875C5A1A9BCBB2003CACDD /* UIView+ManualLayout.swift */,
99+
5F67BC3E1A9E970300347483 /* UIViewController+LayoutGuides.swift */,
97100
5FB4CBEC1A9BBE7500C2FB4F /* Supporting Files */,
98101
);
99102
path = ManualLayout;
@@ -234,6 +237,7 @@
234237
buildActionMask = 2147483647;
235238
files = (
236239
5F875C691A9BE99F003CACDD /* CALayer+FastAccess.swift in Sources */,
240+
5F67BC3F1A9E970300347483 /* UIViewController+LayoutGuides.swift in Sources */,
237241
5F875C5F1A9BD55D003CACDD /* ManualLayout.swift in Sources */,
238242
5F875C5B1A9BCBB2003CACDD /* UIView+ManualLayout.swift in Sources */,
239243
5F875C6D1A9BFC7E003CACDD /* UIView+FastAccess.swift in Sources */,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// UIViewController+LayoutGuides.swift
3+
// ManualLayout
4+
//
5+
// Created by Baris Sencan on 25/02/15.
6+
// Copyright (c) 2015 Baris Sencan. All rights reserved.
7+
//
8+
9+
import UIKit
10+
11+
public extension UIViewController {
12+
13+
public var top: CGFloat {
14+
return topLayoutGuide.length
15+
}
16+
17+
public var bottom: CGFloat {
18+
return view.height - bottomLayoutGuide.length
19+
}
20+
}

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ Just `import ManualLayout` in your code and use the methods and properties provi
3131

3232
#API Cheat Sheet
3333

34-
Properties provide a simple layout API while methods provide a more powerful one.
35-
3634
###CALayer/UIView Properties
3735

3836
```swift
@@ -64,6 +62,13 @@ The difference between alternate edges and normal edges require a bit of explain
6462

6563
So basically, *setting a normal edge's position drags the whole view along with that edge but setting an alternative edge's position drags just that edge*. And don't worry if you, for example, try to drag a left edge past its view's right edge. Edge swapping is done automatically so you don't have to worry about.
6664

65+
###UIViewController Properties
66+
67+
```swift
68+
var top: CGFloat // Top layout guide y coordinate. Read-only.
69+
var bottom: CGFloat // Bottom layout guide y coordinate. Read-only.
70+
```
71+
6772
###CALayer/UIView Methods
6873

6974
Replace the word "layer" with "view" for the UIView methods.

0 commit comments

Comments
 (0)