From 482d6ec41d73d3c6f625997949992c8cacc99832 Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Mon, 18 Apr 2016 15:53:20 +0800 Subject: [PATCH 1/6] menuView`s frame origin.x bugfix --- Example/Use Code/.DS_Store | Bin 0 -> 6148 bytes Example/Use Code/Example/AppDelegate.swift | 3 ++- PageController/PageController.swift | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Example/Use Code/.DS_Store diff --git a/Example/Use Code/.DS_Store b/Example/Use Code/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d25d36dd68af6dd15917454bf79dcf54007f1cfc GIT binary patch literal 6148 zcmeHKK}rKb5Ukc90Wb09ab6(g>S+j@7vuvi6Iuw{^Wkyu{X4Eh!-E?D}NO)QdZ~usklS3Vd!8W7#K2e zYM(Q`|Cjt_MvMGmNPGnY!N5ObKql3yT5wZ-w;pUy@7lz6!=|Esy&4qSgGT^A^c=Y? dgEpSjreAjK4RsdnFX6;^2oyp>1p~jpz$cA|I&c60 literal 0 HcmV?d00001 diff --git a/Example/Use Code/Example/AppDelegate.swift b/Example/Use Code/Example/AppDelegate.swift index 72ea1fd..fc35ba1 100644 --- a/Example/Use Code/Example/AppDelegate.swift +++ b/Example/Use Code/Example/AppDelegate.swift @@ -58,7 +58,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { pageController.values = ["Hello", "I'm Mark"] // pass values pageController.keys = ["type", "text"] // keys pageController.title = "Test" - pageController.menuBGColor = .clearColor() + //for test menuView's frame's orgin.x + pageController.menuBGColor = UIColor.brownColor() pageController.showOnNavigationBar = true // pageController.selectedIndex = 1 // pageController.progressColor = .blackColor() diff --git a/PageController/PageController.swift b/PageController/PageController.swift index 5c50954..b2eac30 100644 --- a/PageController/PageController.swift +++ b/PageController/PageController.swift @@ -344,7 +344,8 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel menu.progressColor = progressColor menu.fontName = titleFontName if showOnNavigationBar && (navigationController?.navigationBar != nil) { - navigationItem.titleView = menu +// navigationItem.titleView = menu //menuView didn't show from origin x when set menuView as titleView + navigationController?.navigationBar.addSubview(menu) //menuView show from origin x:0 when setting as subView of navigationBar? } else { view.addSubview(menu) } From 05e4256019c8521c2a04e32aa933cd4a51fb3a22 Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Mon, 18 Apr 2016 17:58:43 +0800 Subject: [PATCH 2/6] control menuView as subView of navigationBar --- Example/Use Code/.DS_Store | Bin 6148 -> 6148 bytes Example/Use Code/Example/ViewController.swift | 4 ++++ PageController/PageController.swift | 22 ++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/Example/Use Code/.DS_Store b/Example/Use Code/.DS_Store index d25d36dd68af6dd15917454bf79dcf54007f1cfc..2f9b51eb58503835532521590f0c9376024fcbf9 100644 GIT binary patch delta 33 pcmZoMXffE}z{s>ZZ}K`uwaFQbRg51te`FM6o7lj&nVsV=KLE_?3-SN} delta 33 pcmZoMXffE}z{s?4(&TlFYLhbUiCHnD+kGdss$egMvJ3;X~8 diff --git a/Example/Use Code/Example/ViewController.swift b/Example/Use Code/Example/ViewController.swift index 14a7f8b..56345d3 100644 --- a/Example/Use Code/Example/ViewController.swift +++ b/Example/Use Code/Example/ViewController.swift @@ -31,5 +31,9 @@ class ViewController: UIViewController, UITableViewDelegate { // Dispose of any resources that can be recreated. } + override func touchesBegan(touches: Set, withEvent event: UIEvent?) { + self.navigationController?.pushViewController(UIViewController(), animated: true) + } + } diff --git a/PageController/PageController.swift b/PageController/PageController.swift index b2eac30..2d0460f 100644 --- a/PageController/PageController.swift +++ b/PageController/PageController.swift @@ -164,6 +164,28 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel didEnterController(currentViewController!, atIndex: _selectedIndex) } + public override func viewWillAppear(animated: Bool) { + super.viewWillAppear(animated) + guard showOnNavigationBar else { + return + } + if menuView == nil { + resetMenuView() + } + } + + public override func viewWillDisappear(animated: Bool) { + super.viewWillDisappear(animated) + guard showOnNavigationBar else { + return + } + for view in (navigationController?.navigationBar.subviews)! { + if view.isKindOfClass(MenuView.self) { + view.removeFromSuperview() + } + } + } + override public func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() From 179f888e1759e1521eac06d235a3dcd063f3bd4f Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Mon, 18 Apr 2016 15:53:20 +0800 Subject: [PATCH 3/6] menuView`s frame origin.x bugfix --- Example/Use Code/.DS_Store | Bin 0 -> 6148 bytes PageController/PageController.swift | 3 ++- WMPageController-Swift/AppDelegate.swift | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Example/Use Code/.DS_Store diff --git a/Example/Use Code/.DS_Store b/Example/Use Code/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d25d36dd68af6dd15917454bf79dcf54007f1cfc GIT binary patch literal 6148 zcmeHKK}rKb5Ukc90Wb09ab6(g>S+j@7vuvi6Iuw{^Wkyu{X4Eh!-E?D}NO)QdZ~usklS3Vd!8W7#K2e zYM(Q`|Cjt_MvMGmNPGnY!N5ObKql3yT5wZ-w;pUy@7lz6!=|Esy&4qSgGT^A^c=Y? dgEpSjreAjK4RsdnFX6;^2oyp>1p~jpz$cA|I&c60 literal 0 HcmV?d00001 diff --git a/PageController/PageController.swift b/PageController/PageController.swift index 4674bb7..f6613c4 100644 --- a/PageController/PageController.swift +++ b/PageController/PageController.swift @@ -378,7 +378,8 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel menu.fontName = titleFontName menu.contentMargin = menuViewContentMargin if showOnNavigationBar && (navigationController?.navigationBar != nil) { - navigationItem.titleView = menu +// navigationItem.titleView = menu //menuView didn't show from origin x when set menuView as titleView + navigationController?.navigationBar.addSubview(menu) //menuView show from origin x:0 when setting as subView of navigationBar? } else { view.addSubview(menu) } diff --git a/WMPageController-Swift/AppDelegate.swift b/WMPageController-Swift/AppDelegate.swift index 6cb639e..d527d80 100644 --- a/WMPageController-Swift/AppDelegate.swift +++ b/WMPageController-Swift/AppDelegate.swift @@ -58,7 +58,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { pageController.values = ["Hello", "I'm Mark"] // pass values pageController.keys = ["type", "text"] // keys pageController.title = "Test" - pageController.menuBGColor = .clearColor() + //for test menuView's frame's orgin.x + pageController.menuBGColor = UIColor.brownColor() pageController.showOnNavigationBar = true // pageController.selectedIndex = 1 // pageController.progressColor = .blackColor() From 976699418fa90e2e093071bca7dd3d0381854c00 Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Mon, 18 Apr 2016 17:58:43 +0800 Subject: [PATCH 4/6] control menuView as subView of navigationBar --- Example/Use Code/.DS_Store | Bin 6148 -> 6148 bytes PageController/PageController.swift | 22 ++++++++++++++++++++ WMPageController-Swift/ViewController.swift | 4 ++++ 3 files changed, 26 insertions(+) diff --git a/Example/Use Code/.DS_Store b/Example/Use Code/.DS_Store index d25d36dd68af6dd15917454bf79dcf54007f1cfc..2f9b51eb58503835532521590f0c9376024fcbf9 100644 GIT binary patch delta 33 pcmZoMXffE}z{s>ZZ}K`uwaFQbRg51te`FM6o7lj&nVsV=KLE_?3-SN} delta 33 pcmZoMXffE}z{s?4(&TlFYLhbUiCHnD+kGdss$egMvJ3;X~8 diff --git a/PageController/PageController.swift b/PageController/PageController.swift index f6613c4..057eea6 100644 --- a/PageController/PageController.swift +++ b/PageController/PageController.swift @@ -177,6 +177,28 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel didEnterController(currentViewController!, atIndex: _selectedIndex) } + public override func viewWillAppear(animated: Bool) { + super.viewWillAppear(animated) + guard showOnNavigationBar else { + return + } + if menuView == nil { + resetMenuView() + } + } + + public override func viewWillDisappear(animated: Bool) { + super.viewWillDisappear(animated) + guard showOnNavigationBar else { + return + } + for view in (navigationController?.navigationBar.subviews)! { + if view.isKindOfClass(MenuView.self) { + view.removeFromSuperview() + } + } + } + override public func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() diff --git a/WMPageController-Swift/ViewController.swift b/WMPageController-Swift/ViewController.swift index 14a7f8b..56345d3 100644 --- a/WMPageController-Swift/ViewController.swift +++ b/WMPageController-Swift/ViewController.swift @@ -31,5 +31,9 @@ class ViewController: UIViewController, UITableViewDelegate { // Dispose of any resources that can be recreated. } + override func touchesBegan(touches: Set, withEvent event: UIEvent?) { + self.navigationController?.pushViewController(UIViewController(), animated: true) + } + } From 7f196e66a0c2efe2df6351ae6cd8b3c4fad79079 Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Tue, 24 May 2016 11:13:25 +0800 Subject: [PATCH 5/6] hows the origin bug when setting the rightView in NavBar --- Example/Use Code/.DS_Store => .DS_Store | Bin 6148 -> 6148 bytes PageController/MenuItem.swift | 3 ++- PageController/MenuView.swift | 3 +++ PageController/PageController.swift | 25 +----------------- StoryboardExample/.DS_Store | Bin 0 -> 6148 bytes .../Base.lproj/Main.storyboard | 3 ++- .../CustomPageController.swift | 7 ++--- WMPageController-Swift/AppDelegate.swift | 3 +-- WMPageController-Swift/ViewController.swift | 4 --- 9 files changed, 13 insertions(+), 35 deletions(-) rename Example/Use Code/.DS_Store => .DS_Store (90%) create mode 100644 StoryboardExample/.DS_Store diff --git a/Example/Use Code/.DS_Store b/.DS_Store similarity index 90% rename from Example/Use Code/.DS_Store rename to .DS_Store index 2f9b51eb58503835532521590f0c9376024fcbf9..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 100644 GIT binary patch delta 69 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2yFhyD8{ylX%^#Vb`E|Hpgd6EJM(0I5k*d* SG(!SN-DDFU<;^i7E0_TqCl31n delta 297 zcmZoMXfc=|#>B`mF;Q%yo}wrV0|Nsi1A_nqLjgk$Ln?zFLj^0@|?YD#$=~;)jiiDr}PtL|8U+b8vG217c(1cjn3bB8sd`KzAriHWU%w J>>;v;834D8KWzX2 diff --git a/PageController/MenuItem.swift b/PageController/MenuItem.swift index 4c6a526..320a703 100644 --- a/PageController/MenuItem.swift +++ b/PageController/MenuItem.swift @@ -79,7 +79,8 @@ class MenuItem: UILabel { private func setup() { textAlignment = NSTextAlignment.Center userInteractionEnabled = true - backgroundColor = UIColor.clearColor() +// backgroundColor = UIColor.clearColor() + backgroundColor = .redColor() } override func touchesEnded(touches: Set, withEvent event: UIEvent?) { diff --git a/PageController/MenuView.swift b/PageController/MenuView.swift index f6ea2db..f1d0708 100644 --- a/PageController/MenuView.swift +++ b/PageController/MenuView.swift @@ -29,12 +29,15 @@ public class MenuView: UIView, MenuItemDelegate { override public var frame: CGRect { didSet { guard contentView != nil else { return } +// FIXME: - reset contentView's x will cause a bug that contentView won't start from x: 0, remove them and works! +// /** // Make the contentView center, because system will change menuView's frame if it's a titleView. if (contentView.frame.origin.x + contentView.frame.width / 2) != (bounds.origin.x + bounds.width / 2) { var contentFrame = contentView.frame contentFrame.origin.x = bounds.origin.x - (contentFrame.width - bounds.width) / 2 contentView.frame = contentFrame } +// */ } } public var leftView: UIView? { diff --git a/PageController/PageController.swift b/PageController/PageController.swift index 057eea6..4674bb7 100644 --- a/PageController/PageController.swift +++ b/PageController/PageController.swift @@ -177,28 +177,6 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel didEnterController(currentViewController!, atIndex: _selectedIndex) } - public override func viewWillAppear(animated: Bool) { - super.viewWillAppear(animated) - guard showOnNavigationBar else { - return - } - if menuView == nil { - resetMenuView() - } - } - - public override func viewWillDisappear(animated: Bool) { - super.viewWillDisappear(animated) - guard showOnNavigationBar else { - return - } - for view in (navigationController?.navigationBar.subviews)! { - if view.isKindOfClass(MenuView.self) { - view.removeFromSuperview() - } - } - } - override public func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() @@ -400,8 +378,7 @@ public class PageController: UIViewController, UIScrollViewDelegate, MenuViewDel menu.fontName = titleFontName menu.contentMargin = menuViewContentMargin if showOnNavigationBar && (navigationController?.navigationBar != nil) { -// navigationItem.titleView = menu //menuView didn't show from origin x when set menuView as titleView - navigationController?.navigationBar.addSubview(menu) //menuView show from origin x:0 when setting as subView of navigationBar? + navigationItem.titleView = menu } else { view.addSubview(menu) } diff --git a/StoryboardExample/.DS_Store b/StoryboardExample/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..14e8bf61efb9121adf9c53785fd9328db81a3a3d GIT binary patch literal 6148 zcmeHKL2AQ53>>97r1X+wpclWOkRO=fyucqwYL|u*V-pf+Z+=t1(*Kl>Rw5+0y@XOq zkU*Ny<8`0;g0~z_sm?$a78y?YOjUDQNcP#uz2K4Oi zQDVmt(X++N_IX}bZPVGdKG&CLYTBZx5Bm!E*v#Hj zz6-ypY3pCg)NM|7Co9`z*kB+S2nMc$0oH7l$(>=?U?3O>296Bq{g6==bI0B=T^%&3 z1t98gWD<_Gm(ZBZF?Z|@`Gg`CO0-b%7DFtY>zVuIj=iCUL%jJAf3tXpBI)hSpCxxl zZWuNg2nNm>xUuO}>;LlS{{K8EX2C!(a8(S*xG0MSx8${TusN-@8FfWfQNP~s7{Wm+ g#q`xuJfkMzdZq(n?${f0g%UpkiH0!2z@IYk1#WXoF8}}l literal 0 HcmV?d00001 diff --git a/StoryboardExample/StoryboardExample/Base.lproj/Main.storyboard b/StoryboardExample/StoryboardExample/Base.lproj/Main.storyboard index 1202ad4..02f2822 100644 --- a/StoryboardExample/StoryboardExample/Base.lproj/Main.storyboard +++ b/StoryboardExample/StoryboardExample/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -82,6 +82,7 @@ + diff --git a/StoryboardExample/StoryboardExample/ParentController/CustomPageController.swift b/StoryboardExample/StoryboardExample/ParentController/CustomPageController.swift index 5cc8fc2..a646308 100644 --- a/StoryboardExample/StoryboardExample/ParentController/CustomPageController.swift +++ b/StoryboardExample/StoryboardExample/ParentController/CustomPageController.swift @@ -18,15 +18,16 @@ class CustomPageController: PageController { delegate = self preloadPolicy = PreloadPolicy.Neighbour menuViewContentMargin = 10 + showOnNavigationBar = true } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. - menuView?.leftView = customButtonWithTitle("Left") - menuView?.rightView = customButtonWithTitle("Right") - +// menuView?.leftView = customButtonWithTitle("Left") + menuView?.rightView = customButtonWithTitle("+") + menuView?.backgroundColor = .yellowColor() let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(5.0 * Double(NSEC_PER_SEC))) dispatch_after(delayTime, dispatch_get_main_queue()) { self.vcTitles = ["Test", "Test", "Test", "Test", "Test", "Test"] diff --git a/WMPageController-Swift/AppDelegate.swift b/WMPageController-Swift/AppDelegate.swift index d527d80..6cb639e 100644 --- a/WMPageController-Swift/AppDelegate.swift +++ b/WMPageController-Swift/AppDelegate.swift @@ -58,8 +58,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { pageController.values = ["Hello", "I'm Mark"] // pass values pageController.keys = ["type", "text"] // keys pageController.title = "Test" - //for test menuView's frame's orgin.x - pageController.menuBGColor = UIColor.brownColor() + pageController.menuBGColor = .clearColor() pageController.showOnNavigationBar = true // pageController.selectedIndex = 1 // pageController.progressColor = .blackColor() diff --git a/WMPageController-Swift/ViewController.swift b/WMPageController-Swift/ViewController.swift index 56345d3..14a7f8b 100644 --- a/WMPageController-Swift/ViewController.swift +++ b/WMPageController-Swift/ViewController.swift @@ -31,9 +31,5 @@ class ViewController: UIViewController, UITableViewDelegate { // Dispose of any resources that can be recreated. } - override func touchesBegan(touches: Set, withEvent event: UIEvent?) { - self.navigationController?.pushViewController(UIViewController(), animated: true) - } - } From 8f40419bb4e9f3b02688ad519d7dd06934f95368 Mon Sep 17 00:00:00 2001 From: litt1e-p Date: Tue, 24 May 2016 11:19:14 +0800 Subject: [PATCH 6/6] hows the origin bug when setting the rightView in NavBar --- .DS_Store | Bin 6148 -> 6148 bytes PageController/PageController.swift | 25 +------------------- WMPageController-Swift/AppDelegate.swift | 3 +-- WMPageController-Swift/ViewController.swift | 4 ---- 4 files changed, 2 insertions(+), 30 deletions(-) diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..da630894dfc50f227f21782ebae4566726f7ecaa 100644 GIT binary patch literal 6148 zcmeHKu};H441HHR6tQ&dcs~GAcZR5h5eX>+D<~-~s3BF=3dVc_AHY}eEBp}8XRB&e zn5e1>*^&J&ceayzC&e*4 z$oC;q1vA4|F?~8{QVT$o-^e5!OD`cY(J(V?6}dtQ8cNjAU@b<_aLz~b%M4pZ4M(u% zBiNIJbtoY{o%v&ON5~Z2Is?wYHUlSm+n4%({d@nv9prb;fHUx~7zo|G$Vc3g)z+QO uNv)04d#Z@|wTkNy4pJ$muax2eH3{dV42YRwtH>FO{|F=++&BXVW#AjB6HxR3 delta 70 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2y9MdUdFPyfSHSVGdl-A2T%b}, withEvent event: UIEvent?) { - self.navigationController?.pushViewController(UIViewController(), animated: true) - } - }