Commit 4b82cec3 by adamdahan

issue-16: merging development

parents 56be7e2d e3f48228
...@@ -83,10 +83,10 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -83,10 +83,10 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
public static var backdropViewContainerBackgroundColor: UIColor = .blackColor() public static var backdropViewContainerBackgroundColor: UIColor = .blackColor()
public static var animationDuration: CGFloat = 0.5 public static var animationDuration: CGFloat = 0.5
public static var leftBezelWidth: CGFloat = 16 public static var leftBezelWidth: CGFloat = 16
public static var leftViewContainerWidth: CGFloat = 270 public static var leftViewContainerWidth: CGFloat = 240
public static var leftPanFromBezel: Bool = true public static var leftPanFromBezel: Bool = true
public static var rightBezelWidth: CGFloat = 16 public static var rightBezelWidth: CGFloat = 16
public static var rightViewContainerWidth: CGFloat = 270 public static var rightViewContainerWidth: CGFloat = 240
public static var rightPanFromBezel: Bool = true public static var rightPanFromBezel: Bool = true
public static var bottomBezelHeight: CGFloat = 16 public static var bottomBezelHeight: CGFloat = 16
public static var bottomViewContainerHeight: CGFloat = 270 public static var bottomViewContainerHeight: CGFloat = 270
...@@ -135,7 +135,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -135,7 +135,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
/** /**
:name: isUserInteractionEnabled :name: isUserInteractionEnabled
*/ */
public private(set) var isUserInteractionEnabled: Bool { public var isUserInteractionEnabled: Bool {
get { get {
return mainViewContainer!.userInteractionEnabled return mainViewContainer!.userInteractionEnabled
} }
...@@ -276,8 +276,8 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -276,8 +276,8 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
self.init() self.init()
self.mainViewController = mainViewController self.mainViewController = mainViewController
self.leftViewController = leftViewController self.leftViewController = leftViewController
setupView() prepareView()
setupLeftView() prepareLeftView()
} }
/** /**
...@@ -287,8 +287,8 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -287,8 +287,8 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
self.init() self.init()
self.mainViewController = mainViewController self.mainViewController = mainViewController
self.rightViewController = rightViewController self.rightViewController = rightViewController
setupView() prepareView()
setupRightView() prepareRightView()
} }
/** /**
...@@ -310,9 +310,9 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -310,9 +310,9 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
self.mainViewController = mainViewController self.mainViewController = mainViewController
self.leftViewController = leftViewController self.leftViewController = leftViewController
self.rightViewController = rightViewController self.rightViewController = rightViewController
setupView() prepareView()
setupLeftView() prepareLeftView()
setupRightView() prepareRightView()
} }
/** /**
...@@ -643,26 +643,26 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -643,26 +643,26 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
} }
// //
// :name: setupView // :name: prepareView
// //
internal func setupView() { internal func prepareView() {
prepareMainContainer() prepareMainContainer()
prepareBackdropContainer() prepareBackdropContainer()
} }
// //
// :name: setupLeftView // :name: prepareLeftView
// //
internal func setupLeftView() { internal func setupLeftView() {
prepareContainer(&leftContainer, viewContainer: &leftViewContainer, originX: leftOriginX, originY: 0, width: options.leftViewContainerWidth, height: view.bounds.size.height) prepareContainer(&leftContainer, viewContainer: &leftViewContainer, originX: leftOriginX, originY: 0, width: options.leftViewContainerWidth, height: view.bounds.size.height)
prepareLeftGestures() prepareLeftGestures()
} }
// //
// :name: setupRightView // :name: prepareRightView
// //
internal func setupRightView() { internal func setupRightView() {
prepareContainer(&rightContainer, viewContainer: &rightViewContainer, originX: rightOriginX, originY: 0, width: options.rightViewContainerWidth, height: view.bounds.size.height) prepareContainer(&rightContainer, viewContainer: &rightViewContainer, originX: rightOriginX, originY: 0, width: options.rightViewContainerWidth, height: view.bounds.size.height)
prepareRightGestures() prepareRightGestures()
} }
...@@ -709,9 +709,9 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -709,9 +709,9 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
// //
internal func handleLeftPanGesture(gesture: UIPanGestureRecognizer) { internal func handleLeftPanGesture(gesture: UIPanGestureRecognizer) {
if isRightContainerOpened { return } if isRightContainerOpened { return }
if .Began == gesture.state { if let vc = leftViewContainer {
if let vc = leftViewContainer { if let c = leftContainer {
if let c = leftContainer { if .Began == gesture.state {
leftViewController?.beginAppearanceTransition(!isLeftContainerOpened, animated: true) leftViewController?.beginAppearanceTransition(!isLeftContainerOpened, animated: true)
addShadow(&leftViewContainer) addShadow(&leftViewContainer)
toggleWindow(shouldOpen: true) toggleWindow(shouldOpen: true)
...@@ -719,11 +719,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -719,11 +719,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
c.point = gesture.locationInView(view) c.point = gesture.locationInView(view)
c.frame = vc.frame c.frame = vc.frame
delegate?.sideNavDidBeginLeftPan?(self, container: c) delegate?.sideNavDidBeginLeftPan?(self, container: c)
} } else if .Changed == gesture.state {
}
} else if .Changed == gesture.state {
if let vc = leftViewContainer {
if let c = leftContainer {
c.point = gesture.translationInView(gesture.view!) c.point = gesture.translationInView(gesture.view!)
let r = (vc.frame.origin.x - leftOriginX) / vc.frame.size.width let r = (vc.frame.origin.x - leftOriginX) / vc.frame.size.width
let s: CGFloat = 1 - (1 - options.contentViewScale) * r let s: CGFloat = 1 - (1 - options.contentViewScale) * r
...@@ -732,11 +728,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -732,11 +728,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
backdropViewContainer?.layer.opacity = Float(r * options.contentViewOpacity) backdropViewContainer?.layer.opacity = Float(r * options.contentViewOpacity)
mainViewContainer?.transform = CGAffineTransformMakeScale(s, s) mainViewContainer?.transform = CGAffineTransformMakeScale(s, s)
delegate?.sideNavDidChangeLeftPan?(self, container: c) delegate?.sideNavDidChangeLeftPan?(self, container: c)
} } else {
}
} else {
if let vc = leftViewContainer {
if let c = leftContainer {
c.point = gesture.velocityInView(gesture.view) c.point = gesture.velocityInView(gesture.view)
let x: CGFloat = c.point.x >= 1000 || c.point.x <= -1000 ? c.point.x : 0 let x: CGFloat = c.point.x >= 1000 || c.point.x <= -1000 ? c.point.x : 0
c.state = vc.frame.origin.x <= CGFloat(floor(leftOriginX)) + options.pointOfNoReturnWidth || c.point.x <= -1000 ? .Closed : .Opened c.state = vc.frame.origin.x <= CGFloat(floor(leftOriginX)) + options.pointOfNoReturnWidth || c.point.x <= -1000 ? .Closed : .Opened
...@@ -766,21 +758,17 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -766,21 +758,17 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
// //
internal func handleRightPanGesture(gesture: UIPanGestureRecognizer) { internal func handleRightPanGesture(gesture: UIPanGestureRecognizer) {
if isLeftContainerOpened { return } if isLeftContainerOpened { return }
if .Began == gesture.state { if let vc = rightViewContainer {
if let vc = rightViewContainer { if let c = rightContainer {
if let c = rightContainer { if .Began == gesture.state {
c.point = gesture.locationInView(view)
c.state = isRightContainerOpened ? .Opened : .Closed
c.frame = vc.frame
rightViewController?.beginAppearanceTransition(!isRightContainerOpened, animated: true) rightViewController?.beginAppearanceTransition(!isRightContainerOpened, animated: true)
addShadow(&rightViewContainer) addShadow(&rightViewContainer)
toggleWindow(shouldOpen: true) toggleWindow(shouldOpen: true)
c.state = isRightContainerOpened ? .Opened : .Closed
c.point = gesture.locationInView(view)
c.frame = vc.frame
delegate?.sideNavDidBeginRightPan?(self, container: c) delegate?.sideNavDidBeginRightPan?(self, container: c)
} } else if .Changed == gesture.state {
}
} else if .Changed == gesture.state {
if let vc = rightViewContainer {
if let c = rightContainer {
c.point = gesture.translationInView(gesture.view!) c.point = gesture.translationInView(gesture.view!)
let r = (rightOriginX - vc.frame.origin.x) / vc.frame.size.width let r = (rightOriginX - vc.frame.origin.x) / vc.frame.size.width
let s: CGFloat = 1 - (1 - options.contentViewScale) * r let s: CGFloat = 1 - (1 - options.contentViewScale) * r
...@@ -790,11 +778,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg ...@@ -790,11 +778,7 @@ public class SideNavController: MaterialViewController, UIGestureRecognizerDeleg
backdropViewContainer?.layer.opacity = Float(r * options.contentViewOpacity) backdropViewContainer?.layer.opacity = Float(r * options.contentViewOpacity)
mainViewContainer?.transform = CGAffineTransformMakeScale(s, s) mainViewContainer?.transform = CGAffineTransformMakeScale(s, s)
delegate?.sideNavDidChangeRightPan?(self, container: c) delegate?.sideNavDidChangeRightPan?(self, container: c)
} } else {
}
} else {
if let vc = rightViewContainer {
if let c = rightContainer {
c.point = gesture.velocityInView(gesture.view) c.point = gesture.velocityInView(gesture.view)
let x: CGFloat = c.point.x <= -1000 || c.point.x >= 1000 ? c.point.x : 0 let x: CGFloat = c.point.x <= -1000 || c.point.x >= 1000 ? c.point.x : 0
c.state = vc.frame.origin.x >= CGFloat(floor(rightOriginX) - options.pointOfNoReturnWidth) || c.point.x >= 1000 ? .Closed : .Opened c.state = vc.frame.origin.x >= CGFloat(floor(rightOriginX) - options.pointOfNoReturnWidth) || c.point.x >= 1000 ? .Closed : .Opened
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment