From 4e9692c0c1924e1b3597a9f8de9ff3779006cb06 Mon Sep 17 00:00:00 2001 From: piotrbernad Date: Tue, 18 Jun 2013 16:26:33 +0200 Subject: [PATCH] Grouped Style TableView, Bar Button Items Actions --- FlatUI.xcodeproj/project.pbxproj | 154 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 24455 -> 28533 bytes ...ttonIconView.h => PBBarButtonIconButton.h} | 7 +- ...ttonIconView.m => PBBarButtonIconButton.m} | 10 +- FlatUI/Classess/PBFlatBarButtonItems.h | 15 +- FlatUI/Classess/PBFlatBarButtonItems.m | 36 ++-- FlatUI/Classess/PBFlatButtonWithIcon.m | 2 +- FlatUI/Classess/PBFlatGroupedStyleCell.h | 22 +++ FlatUI/Classess/PBFlatGroupedStyleCell.m | 123 ++++++++++++++ .../PBFlatGroupedTableViewController.h | 15 ++ .../PBFlatGroupedTableViewController.m | 81 +++++++++ FlatUI/Classess/PBFlatRoundedImageView.h | 2 +- FlatUI/Classess/PBFlatRoundedImageView.m | 14 +- FlatUI/Classess/PBFlatSettings.h | 5 +- FlatUI/Classess/PBFlatSettings.m | 1 + FlatUI/Classess/PBIconDrawning.h | 2 +- FlatUI/Classess/PBIconDrawning.m | 4 +- FlatUI/MainStoryboard.storyboard | 47 ++++++ FlatUI/PBExampleTableVC.h | 13 ++ FlatUI/PBExampleTableVC.m | 125 ++++++++++++++ FlatUI/PBViewController.m | 9 +- FlatUI/icons/airplane.png | Bin 0 -> 1915 bytes FlatUI/icons/airplane@2x.png | Bin 0 -> 1620 bytes FlatUI/icons/block.png | Bin 0 -> 2043 bytes FlatUI/icons/block@2x.png | Bin 0 -> 1845 bytes FlatUI/icons/bluetooth.png | Bin 0 -> 2185 bytes FlatUI/icons/bluetooth@2x.png | Bin 0 -> 2602 bytes FlatUI/icons/brightness.png | Bin 0 -> 2324 bytes FlatUI/icons/brightness@2x.png | Bin 0 -> 2406 bytes FlatUI/icons/cn.png | Bin 0 -> 13127 bytes FlatUI/icons/donotdisturb.png | Bin 0 -> 1956 bytes FlatUI/icons/donotdisturb@2x.png | Bin 0 -> 2011 bytes FlatUI/icons/general.png | Bin 0 -> 2833 bytes FlatUI/icons/general@2x.png | Bin 0 -> 3629 bytes FlatUI/icons/gsm.png | Bin 0 -> 2817 bytes FlatUI/icons/gsm@2x.png | Bin 0 -> 3729 bytes FlatUI/icons/hotspot.png | Bin 0 -> 2328 bytes FlatUI/icons/hotspot@2x.png | Bin 0 -> 2322 bytes FlatUI/icons/i_icon.png | Bin 0 -> 2186 bytes FlatUI/icons/i_icon@2x.png | Bin 0 -> 2365 bytes FlatUI/icons/js.png | Bin 0 -> 30130 bytes FlatUI/icons/notification.png | Bin 0 -> 1958 bytes FlatUI/icons/notification@2x.png | Bin 0 -> 1973 bytes FlatUI/icons/sounds.png | Bin 0 -> 2299 bytes FlatUI/icons/sounds@2x.png | Bin 0 -> 2602 bytes FlatUI/icons/tl.png | Bin 0 -> 39325 bytes FlatUI/icons/wifi.png | Bin 0 -> 1978 bytes FlatUI/icons/wifi@2x.png | Bin 0 -> 2147 bytes PBFlatUI.podspec | 2 +- README.md | 10 +- 50 files changed, 650 insertions(+), 49 deletions(-) rename FlatUI/Classess/{PBBarButtonIconView.h => PBBarButtonIconButton.h} (50%) rename FlatUI/Classess/{PBBarButtonIconView.m => PBBarButtonIconButton.m} (74%) create mode 100644 FlatUI/Classess/PBFlatGroupedStyleCell.h create mode 100644 FlatUI/Classess/PBFlatGroupedStyleCell.m create mode 100644 FlatUI/Classess/PBFlatGroupedTableViewController.h create mode 100644 FlatUI/Classess/PBFlatGroupedTableViewController.m create mode 100644 FlatUI/PBExampleTableVC.h create mode 100644 FlatUI/PBExampleTableVC.m create mode 100644 FlatUI/icons/airplane.png create mode 100644 FlatUI/icons/airplane@2x.png create mode 100644 FlatUI/icons/block.png create mode 100644 FlatUI/icons/block@2x.png create mode 100644 FlatUI/icons/bluetooth.png create mode 100644 FlatUI/icons/bluetooth@2x.png create mode 100644 FlatUI/icons/brightness.png create mode 100644 FlatUI/icons/brightness@2x.png create mode 100644 FlatUI/icons/cn.png create mode 100644 FlatUI/icons/donotdisturb.png create mode 100644 FlatUI/icons/donotdisturb@2x.png create mode 100644 FlatUI/icons/general.png create mode 100644 FlatUI/icons/general@2x.png create mode 100644 FlatUI/icons/gsm.png create mode 100644 FlatUI/icons/gsm@2x.png create mode 100644 FlatUI/icons/hotspot.png create mode 100644 FlatUI/icons/hotspot@2x.png create mode 100644 FlatUI/icons/i_icon.png create mode 100644 FlatUI/icons/i_icon@2x.png create mode 100644 FlatUI/icons/js.png create mode 100644 FlatUI/icons/notification.png create mode 100644 FlatUI/icons/notification@2x.png create mode 100644 FlatUI/icons/sounds.png create mode 100644 FlatUI/icons/sounds@2x.png create mode 100644 FlatUI/icons/tl.png create mode 100644 FlatUI/icons/wifi.png create mode 100644 FlatUI/icons/wifi@2x.png diff --git a/FlatUI.xcodeproj/project.pbxproj b/FlatUI.xcodeproj/project.pbxproj index b674c8c..8d52f93 100644 --- a/FlatUI.xcodeproj/project.pbxproj +++ b/FlatUI.xcodeproj/project.pbxproj @@ -20,7 +20,7 @@ 240496C5176E110E00EF2CE2 /* PBViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496BA176E110E00EF2CE2 /* PBViewController.m */; }; 240496D3176E1E7200EF2CE2 /* avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 240496D2176E1E7100EF2CE2 /* avatar.png */; }; 240496DD176E379C00EF2CE2 /* PBFlatSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496DC176E379C00EF2CE2 /* PBFlatSettings.m */; }; - 240496E2176E37B800EF2CE2 /* PBBarButtonIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496DF176E37B800EF2CE2 /* PBBarButtonIconView.m */; }; + 240496E2176E37B800EF2CE2 /* PBBarButtonIconButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496DF176E37B800EF2CE2 /* PBBarButtonIconButton.m */; }; 240496E3176E37B800EF2CE2 /* PBFlatBarButtonItems.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496E1176E37B800EF2CE2 /* PBFlatBarButtonItems.m */; }; 240496E8176E37CA00EF2CE2 /* PBFlatButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496E5176E37CA00EF2CE2 /* PBFlatButton.m */; }; 240496E9176E37CA00EF2CE2 /* PBFlatButtonWithIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496E7176E37CA00EF2CE2 /* PBFlatButtonWithIcon.m */; }; @@ -29,6 +29,36 @@ 240496F2176E37F900EF2CE2 /* PBFlatTextfield.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496F1176E37F900EF2CE2 /* PBFlatTextfield.m */; }; 240496F7176E380C00EF2CE2 /* PBIconDrawning.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496F4176E380C00EF2CE2 /* PBIconDrawning.m */; }; 240496F8176E380C00EF2CE2 /* UIImage+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 240496F6176E380C00EF2CE2 /* UIImage+Additions.m */; }; + 245BB59E176FC92500FBB147 /* PBFlatGroupedStyleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 245BB59D176FC92500FBB147 /* PBFlatGroupedStyleCell.m */; }; + 245BB5E317706E2E00FBB147 /* airplane.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5CD17706E2E00FBB147 /* airplane.png */; }; + 245BB5E417706E2E00FBB147 /* airplane@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5CE17706E2E00FBB147 /* airplane@2x.png */; }; + 245BB5E517706E2E00FBB147 /* block.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5CF17706E2E00FBB147 /* block.png */; }; + 245BB5E617706E2E00FBB147 /* block@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D017706E2E00FBB147 /* block@2x.png */; }; + 245BB5E717706E2E00FBB147 /* bluetooth.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D117706E2E00FBB147 /* bluetooth.png */; }; + 245BB5E817706E2E00FBB147 /* bluetooth@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D217706E2E00FBB147 /* bluetooth@2x.png */; }; + 245BB5E917706E2E00FBB147 /* brightness.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D317706E2E00FBB147 /* brightness.png */; }; + 245BB5EA17706E2E00FBB147 /* brightness@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D417706E2E00FBB147 /* brightness@2x.png */; }; + 245BB5EB17706E2E00FBB147 /* donotdisturb.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D517706E2E00FBB147 /* donotdisturb.png */; }; + 245BB5EC17706E2E00FBB147 /* donotdisturb@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D617706E2E00FBB147 /* donotdisturb@2x.png */; }; + 245BB5ED17706E2E00FBB147 /* general.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D717706E2E00FBB147 /* general.png */; }; + 245BB5EE17706E2E00FBB147 /* general@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D817706E2E00FBB147 /* general@2x.png */; }; + 245BB5EF17706E2E00FBB147 /* gsm.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5D917706E2E00FBB147 /* gsm.png */; }; + 245BB5F017706E2E00FBB147 /* gsm@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DA17706E2E00FBB147 /* gsm@2x.png */; }; + 245BB5F117706E2E00FBB147 /* hotspot.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DB17706E2E00FBB147 /* hotspot.png */; }; + 245BB5F217706E2E00FBB147 /* hotspot@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DC17706E2E00FBB147 /* hotspot@2x.png */; }; + 245BB5F317706E2E00FBB147 /* notification.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DD17706E2E00FBB147 /* notification.png */; }; + 245BB5F417706E2E00FBB147 /* notification@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DE17706E2E00FBB147 /* notification@2x.png */; }; + 245BB5F517706E2E00FBB147 /* sounds.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5DF17706E2E00FBB147 /* sounds.png */; }; + 245BB5F617706E2E00FBB147 /* sounds@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5E017706E2E00FBB147 /* sounds@2x.png */; }; + 245BB5F717706E2E00FBB147 /* wifi.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5E117706E2E00FBB147 /* wifi.png */; }; + 245BB5F817706E2E00FBB147 /* wifi@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5E217706E2E00FBB147 /* wifi@2x.png */; }; + 245BB5FB1770799300FBB147 /* i_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5F91770799300FBB147 /* i_icon.png */; }; + 245BB5FC1770799300FBB147 /* i_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 245BB5FA1770799300FBB147 /* i_icon@2x.png */; }; + 24C89DBE1770A1CA009945B2 /* cn.png in Resources */ = {isa = PBXBuildFile; fileRef = 24C89DBB1770A1CA009945B2 /* cn.png */; }; + 24C89DBF1770A1CA009945B2 /* js.png in Resources */ = {isa = PBXBuildFile; fileRef = 24C89DBC1770A1CA009945B2 /* js.png */; }; + 24C89DC01770A1CA009945B2 /* tl.png in Resources */ = {isa = PBXBuildFile; fileRef = 24C89DBD1770A1CA009945B2 /* tl.png */; }; + 24D510CB176F9EE000529935 /* PBFlatGroupedTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 24D510CA176F9EE000529935 /* PBFlatGroupedTableViewController.m */; }; + 24D510CF176FA5DA00529935 /* PBExampleTableVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 24D510CE176FA5DA00529935 /* PBExampleTableVC.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -51,8 +81,8 @@ 240496D2176E1E7100EF2CE2 /* avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = avatar.png; sourceTree = ""; }; 240496DB176E379C00EF2CE2 /* PBFlatSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBFlatSettings.h; path = Classess/PBFlatSettings.h; sourceTree = ""; }; 240496DC176E379C00EF2CE2 /* PBFlatSettings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBFlatSettings.m; path = Classess/PBFlatSettings.m; sourceTree = ""; }; - 240496DE176E37B800EF2CE2 /* PBBarButtonIconView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBBarButtonIconView.h; path = Classess/PBBarButtonIconView.h; sourceTree = ""; }; - 240496DF176E37B800EF2CE2 /* PBBarButtonIconView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBBarButtonIconView.m; path = Classess/PBBarButtonIconView.m; sourceTree = ""; }; + 240496DE176E37B800EF2CE2 /* PBBarButtonIconButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBBarButtonIconButton.h; path = Classess/PBBarButtonIconButton.h; sourceTree = ""; }; + 240496DF176E37B800EF2CE2 /* PBBarButtonIconButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBBarButtonIconButton.m; path = Classess/PBBarButtonIconButton.m; sourceTree = ""; }; 240496E0176E37B800EF2CE2 /* PBFlatBarButtonItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBFlatBarButtonItems.h; path = Classess/PBFlatBarButtonItems.h; sourceTree = ""; }; 240496E1176E37B800EF2CE2 /* PBFlatBarButtonItems.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBFlatBarButtonItems.m; path = Classess/PBFlatBarButtonItems.m; sourceTree = ""; }; 240496E4176E37CA00EF2CE2 /* PBFlatButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBFlatButton.h; path = Classess/PBFlatButton.h; sourceTree = ""; }; @@ -69,6 +99,39 @@ 240496F4176E380C00EF2CE2 /* PBIconDrawning.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBIconDrawning.m; path = Classess/PBIconDrawning.m; sourceTree = ""; }; 240496F5176E380C00EF2CE2 /* UIImage+Additions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+Additions.h"; path = "Classess/UIImage+Additions.h"; sourceTree = ""; }; 240496F6176E380C00EF2CE2 /* UIImage+Additions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Additions.m"; path = "Classess/UIImage+Additions.m"; sourceTree = ""; }; + 245BB59C176FC92500FBB147 /* PBFlatGroupedStyleCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PBFlatGroupedStyleCell.h; path = Classess/PBFlatGroupedStyleCell.h; sourceTree = ""; }; + 245BB59D176FC92500FBB147 /* PBFlatGroupedStyleCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PBFlatGroupedStyleCell.m; path = Classess/PBFlatGroupedStyleCell.m; sourceTree = ""; }; + 245BB5CD17706E2E00FBB147 /* airplane.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = airplane.png; sourceTree = ""; }; + 245BB5CE17706E2E00FBB147 /* airplane@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "airplane@2x.png"; sourceTree = ""; }; + 245BB5CF17706E2E00FBB147 /* block.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = block.png; sourceTree = ""; }; + 245BB5D017706E2E00FBB147 /* block@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "block@2x.png"; sourceTree = ""; }; + 245BB5D117706E2E00FBB147 /* bluetooth.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bluetooth.png; sourceTree = ""; }; + 245BB5D217706E2E00FBB147 /* bluetooth@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bluetooth@2x.png"; sourceTree = ""; }; + 245BB5D317706E2E00FBB147 /* brightness.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = brightness.png; sourceTree = ""; }; + 245BB5D417706E2E00FBB147 /* brightness@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "brightness@2x.png"; sourceTree = ""; }; + 245BB5D517706E2E00FBB147 /* donotdisturb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = donotdisturb.png; sourceTree = ""; }; + 245BB5D617706E2E00FBB147 /* donotdisturb@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "donotdisturb@2x.png"; sourceTree = ""; }; + 245BB5D717706E2E00FBB147 /* general.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = general.png; sourceTree = ""; }; + 245BB5D817706E2E00FBB147 /* general@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "general@2x.png"; sourceTree = ""; }; + 245BB5D917706E2E00FBB147 /* gsm.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = gsm.png; sourceTree = ""; }; + 245BB5DA17706E2E00FBB147 /* gsm@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gsm@2x.png"; sourceTree = ""; }; + 245BB5DB17706E2E00FBB147 /* hotspot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = hotspot.png; sourceTree = ""; }; + 245BB5DC17706E2E00FBB147 /* hotspot@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "hotspot@2x.png"; sourceTree = ""; }; + 245BB5DD17706E2E00FBB147 /* notification.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = notification.png; sourceTree = ""; }; + 245BB5DE17706E2E00FBB147 /* notification@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "notification@2x.png"; sourceTree = ""; }; + 245BB5DF17706E2E00FBB147 /* sounds.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sounds.png; sourceTree = ""; }; + 245BB5E017706E2E00FBB147 /* sounds@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "sounds@2x.png"; sourceTree = ""; }; + 245BB5E117706E2E00FBB147 /* wifi.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = wifi.png; sourceTree = ""; }; + 245BB5E217706E2E00FBB147 /* wifi@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "wifi@2x.png"; sourceTree = ""; }; + 245BB5F91770799300FBB147 /* i_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = i_icon.png; sourceTree = ""; }; + 245BB5FA1770799300FBB147 /* i_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "i_icon@2x.png"; sourceTree = ""; }; + 24C89DBB1770A1CA009945B2 /* cn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cn.png; sourceTree = ""; }; + 24C89DBC1770A1CA009945B2 /* js.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = js.png; sourceTree = ""; }; + 24C89DBD1770A1CA009945B2 /* tl.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tl.png; sourceTree = ""; }; + 24D510C9176F9EE000529935 /* PBFlatGroupedTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBFlatGroupedTableViewController.h; sourceTree = ""; }; + 24D510CA176F9EE000529935 /* PBFlatGroupedTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBFlatGroupedTableViewController.m; sourceTree = ""; }; + 24D510CD176FA5DA00529935 /* PBExampleTableVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBExampleTableVC.h; sourceTree = ""; }; + 24D510CE176FA5DA00529935 /* PBExampleTableVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBExampleTableVC.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -119,7 +182,10 @@ 240496DC176E379C00EF2CE2 /* PBFlatSettings.m */, 240496B9176E110E00EF2CE2 /* PBViewController.h */, 240496BA176E110E00EF2CE2 /* PBViewController.m */, + 24D510CD176FA5DA00529935 /* PBExampleTableVC.h */, + 24D510CE176FA5DA00529935 /* PBExampleTableVC.m */, 240496A8176E0FD700EF2CE2 /* MainStoryboard.storyboard */, + 24D510CC176FA5B100529935 /* Grouped Table View Controller */, 240496D4176E1E9900EF2CE2 /* Bar Items */, 240496D5176E1EA500EF2CE2 /* Buttons */, 240496D6176E1EB100EF2CE2 /* Image View */, @@ -149,8 +215,8 @@ 240496D4176E1E9900EF2CE2 /* Bar Items */ = { isa = PBXGroup; children = ( - 240496DE176E37B800EF2CE2 /* PBBarButtonIconView.h */, - 240496DF176E37B800EF2CE2 /* PBBarButtonIconView.m */, + 240496DE176E37B800EF2CE2 /* PBBarButtonIconButton.h */, + 240496DF176E37B800EF2CE2 /* PBBarButtonIconButton.m */, 240496E0176E37B800EF2CE2 /* PBFlatBarButtonItems.h */, 240496E1176E37B800EF2CE2 /* PBFlatBarButtonItems.m */, ); @@ -211,11 +277,57 @@ 240496DA176E1F0200EF2CE2 /* Resources */ = { isa = PBXGroup; children = ( + 245BB5CC17706E2E00FBB147 /* icons */, 240496D2176E1E7100EF2CE2 /* avatar.png */, ); name = Resources; sourceTree = ""; }; + 245BB5CC17706E2E00FBB147 /* icons */ = { + isa = PBXGroup; + children = ( + 24C89DBB1770A1CA009945B2 /* cn.png */, + 24C89DBC1770A1CA009945B2 /* js.png */, + 24C89DBD1770A1CA009945B2 /* tl.png */, + 245BB5F91770799300FBB147 /* i_icon.png */, + 245BB5FA1770799300FBB147 /* i_icon@2x.png */, + 245BB5CD17706E2E00FBB147 /* airplane.png */, + 245BB5CE17706E2E00FBB147 /* airplane@2x.png */, + 245BB5CF17706E2E00FBB147 /* block.png */, + 245BB5D017706E2E00FBB147 /* block@2x.png */, + 245BB5D117706E2E00FBB147 /* bluetooth.png */, + 245BB5D217706E2E00FBB147 /* bluetooth@2x.png */, + 245BB5D317706E2E00FBB147 /* brightness.png */, + 245BB5D417706E2E00FBB147 /* brightness@2x.png */, + 245BB5D517706E2E00FBB147 /* donotdisturb.png */, + 245BB5D617706E2E00FBB147 /* donotdisturb@2x.png */, + 245BB5D717706E2E00FBB147 /* general.png */, + 245BB5D817706E2E00FBB147 /* general@2x.png */, + 245BB5D917706E2E00FBB147 /* gsm.png */, + 245BB5DA17706E2E00FBB147 /* gsm@2x.png */, + 245BB5DB17706E2E00FBB147 /* hotspot.png */, + 245BB5DC17706E2E00FBB147 /* hotspot@2x.png */, + 245BB5DD17706E2E00FBB147 /* notification.png */, + 245BB5DE17706E2E00FBB147 /* notification@2x.png */, + 245BB5DF17706E2E00FBB147 /* sounds.png */, + 245BB5E017706E2E00FBB147 /* sounds@2x.png */, + 245BB5E117706E2E00FBB147 /* wifi.png */, + 245BB5E217706E2E00FBB147 /* wifi@2x.png */, + ); + path = icons; + sourceTree = ""; + }; + 24D510CC176FA5B100529935 /* Grouped Table View Controller */ = { + isa = PBXGroup; + children = ( + 24D510C9176F9EE000529935 /* PBFlatGroupedTableViewController.h */, + 24D510CA176F9EE000529935 /* PBFlatGroupedTableViewController.m */, + 245BB59C176FC92500FBB147 /* PBFlatGroupedStyleCell.h */, + 245BB59D176FC92500FBB147 /* PBFlatGroupedStyleCell.m */, + ); + name = "Grouped Table View Controller"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -274,6 +386,33 @@ 2404969C176E0FC500EF2CE2 /* Default-568h@2x.png in Resources */, 240496A9176E0FD700EF2CE2 /* MainStoryboard.storyboard in Resources */, 240496D3176E1E7200EF2CE2 /* avatar.png in Resources */, + 245BB5E317706E2E00FBB147 /* airplane.png in Resources */, + 245BB5E417706E2E00FBB147 /* airplane@2x.png in Resources */, + 245BB5E517706E2E00FBB147 /* block.png in Resources */, + 245BB5E617706E2E00FBB147 /* block@2x.png in Resources */, + 245BB5E717706E2E00FBB147 /* bluetooth.png in Resources */, + 245BB5E817706E2E00FBB147 /* bluetooth@2x.png in Resources */, + 245BB5E917706E2E00FBB147 /* brightness.png in Resources */, + 245BB5EA17706E2E00FBB147 /* brightness@2x.png in Resources */, + 245BB5EB17706E2E00FBB147 /* donotdisturb.png in Resources */, + 245BB5EC17706E2E00FBB147 /* donotdisturb@2x.png in Resources */, + 245BB5ED17706E2E00FBB147 /* general.png in Resources */, + 245BB5EE17706E2E00FBB147 /* general@2x.png in Resources */, + 245BB5EF17706E2E00FBB147 /* gsm.png in Resources */, + 245BB5F017706E2E00FBB147 /* gsm@2x.png in Resources */, + 245BB5F117706E2E00FBB147 /* hotspot.png in Resources */, + 245BB5F217706E2E00FBB147 /* hotspot@2x.png in Resources */, + 245BB5F317706E2E00FBB147 /* notification.png in Resources */, + 245BB5F417706E2E00FBB147 /* notification@2x.png in Resources */, + 245BB5F517706E2E00FBB147 /* sounds.png in Resources */, + 245BB5F617706E2E00FBB147 /* sounds@2x.png in Resources */, + 245BB5F717706E2E00FBB147 /* wifi.png in Resources */, + 245BB5F817706E2E00FBB147 /* wifi@2x.png in Resources */, + 245BB5FB1770799300FBB147 /* i_icon.png in Resources */, + 245BB5FC1770799300FBB147 /* i_icon@2x.png in Resources */, + 24C89DBE1770A1CA009945B2 /* cn.png in Resources */, + 24C89DBF1770A1CA009945B2 /* js.png in Resources */, + 24C89DC01770A1CA009945B2 /* tl.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -288,7 +427,7 @@ 24049696176E0FC500EF2CE2 /* PBFlatAppDelegate.m in Sources */, 240496C5176E110E00EF2CE2 /* PBViewController.m in Sources */, 240496DD176E379C00EF2CE2 /* PBFlatSettings.m in Sources */, - 240496E2176E37B800EF2CE2 /* PBBarButtonIconView.m in Sources */, + 240496E2176E37B800EF2CE2 /* PBBarButtonIconButton.m in Sources */, 240496E3176E37B800EF2CE2 /* PBFlatBarButtonItems.m in Sources */, 240496E8176E37CA00EF2CE2 /* PBFlatButton.m in Sources */, 240496E9176E37CA00EF2CE2 /* PBFlatButtonWithIcon.m in Sources */, @@ -297,6 +436,9 @@ 240496F2176E37F900EF2CE2 /* PBFlatTextfield.m in Sources */, 240496F7176E380C00EF2CE2 /* PBIconDrawning.m in Sources */, 240496F8176E380C00EF2CE2 /* UIImage+Additions.m in Sources */, + 24D510CB176F9EE000529935 /* PBFlatGroupedTableViewController.m in Sources */, + 24D510CF176FA5DA00529935 /* PBExampleTableVC.m in Sources */, + 245BB59E176FC92500FBB147 /* PBFlatGroupedStyleCell.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FlatUI.xcodeproj/project.xcworkspace/xcuserdata/piotrbernad.xcuserdatad/UserInterfaceState.xcuserstate b/FlatUI.xcodeproj/project.xcworkspace/xcuserdata/piotrbernad.xcuserdatad/UserInterfaceState.xcuserstate index 184f1a7bb634c9f6a9f42591710d084cbb48931b..929fb740e09de58b75e16871fa65a23d3c374e46 100644 GIT binary patch literal 28533 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 delta 13071 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 iC>&cjrSN#+pM|#z|MEQS;9yw&FE_3J_x-W((f #import "PBIconDrawning.h" -@interface PBBarButtonIconView : UIView --(id)initWithFrame:(CGRect)frame andWithType:(PBFlatIconType)type; +@interface PBBarButtonIconButton : UIButton +- (id)initWithFrame:(CGRect)frame andWithType:(PBFlatIconType)type; +- (void)setType:(PBFlatIconType)type; @end diff --git a/FlatUI/Classess/PBBarButtonIconView.m b/FlatUI/Classess/PBBarButtonIconButton.m similarity index 74% rename from FlatUI/Classess/PBBarButtonIconView.m rename to FlatUI/Classess/PBBarButtonIconButton.m index 5808ffb..37e3d4a 100644 --- a/FlatUI/Classess/PBBarButtonIconView.m +++ b/FlatUI/Classess/PBBarButtonIconButton.m @@ -1,15 +1,15 @@ // -// PBBarButtonIconView.m +// PBBarButtonIconButton.m // FlatUI // // Created by Piotr Bernad on 16.06.2013. // Copyright (c) 2013 Piotr Bernad. All rights reserved. // -#import "PBBarButtonIconView.h" +#import "PBBarButtonIconButton.h" #import "PBFlatSettings.h" -@implementation PBBarButtonIconView { +@implementation PBBarButtonIconButton { PBFlatIconType _type; } -(id)initWithFrame:(CGRect)frame andWithType:(PBFlatIconType)type { @@ -24,5 +24,9 @@ [PBIconDrawning drawIconInRect:rect withType:_type color:[[PBFlatSettings sharedInstance] mainColor]]; } +- (void)setType:(PBFlatIconType)type { + _type = type; + [self setNeedsDisplay]; +} @end diff --git a/FlatUI/Classess/PBFlatBarButtonItems.h b/FlatUI/Classess/PBFlatBarButtonItems.h index aa8c106..58fc02d 100644 --- a/FlatUI/Classess/PBFlatBarButtonItems.h +++ b/FlatUI/Classess/PBFlatBarButtonItems.h @@ -9,14 +9,13 @@ #import #import "PBFlatSettings.h" #import "PBIconDrawning.h" -#import "PBBarButtonIconView.h" +#import "PBBarButtonIconButton.h" @interface PBFlatBarButtonItems : UIBarButtonItem -+ (UIBarButtonItem *)addBarButtonItem; -+ (UIBarButtonItem *)moreBarButtonItem; -+ (UIBarButtonItem *)menuBarButtonItem; -+ (UIBarButtonItem *)searchBarButtonItem; -+ (UIBarButtonItem *)backBarButtonItem; -+ (UIBarButtonItem *)forwardBarButtonItem; - ++ (UIBarButtonItem *)addBarButtonItemWithTarget:(id)target selector:(SEL)selector; ++ (UIBarButtonItem *)moreBarButtonItemWithTarget:(id)target selector:(SEL)selector; ++ (UIBarButtonItem *)menuBarButtonItemWithTarget:(id)target selector:(SEL)selector; ++ (UIBarButtonItem *)searchBarButtonItemWithTarget:(id)target selector:(SEL)selector; ++ (UIBarButtonItem *)backBarButtonItemWithTarget:(id)target selector:(SEL)selector; ++ (UIBarButtonItem *)forwardBarButtonItemWithTarget:(id)target selector:(SEL)selector; @end \ No newline at end of file diff --git a/FlatUI/Classess/PBFlatBarButtonItems.m b/FlatUI/Classess/PBFlatBarButtonItems.m index 5c2c2c0..fae0736 100644 --- a/FlatUI/Classess/PBFlatBarButtonItems.m +++ b/FlatUI/Classess/PBFlatBarButtonItems.m @@ -7,32 +7,38 @@ // #import "PBFlatBarButtonItems.h" - +#import "PBFlatButtonWithIcon.h" +#import "PBBarButtonIconButton.h" @implementation PBFlatBarButtonItems -+ (UIBarButtonItem *)barButtonItemWithIconType:(PBFlatIconType)iconType { - UIBarButtonItem *_barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[PBBarButtonIconView alloc] initWithFrame:CGRectMake(0, 0, 30, 30) andWithType:iconType]]; ++ (UIBarButtonItem *)barButtonItemWithIconType:(PBFlatIconType)iconType withTarget:(id)target selector:(SEL)selector { + + PBBarButtonIconButton *button = [[PBBarButtonIconButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)]; + [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside]; + [button setType:iconType]; + + UIBarButtonItem *_barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; return _barButtonItem; } -+ (UIBarButtonItem *)addBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconAdd]; ++ (UIBarButtonItem *)addBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconAdd withTarget:target selector:selector]; } -+ (UIBarButtonItem *)moreBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconMore]; ++ (UIBarButtonItem *)moreBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconMore withTarget:target selector:selector]; } -+ (UIBarButtonItem *)menuBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconMenu]; ++ (UIBarButtonItem *)menuBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconMenu withTarget:target selector:selector]; } -+ (UIBarButtonItem *)searchBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconSearch]; ++ (UIBarButtonItem *)searchBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconSearch withTarget:target selector:selector]; } -+ (UIBarButtonItem *)backBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconBack]; ++ (UIBarButtonItem *)backBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconBack withTarget:target selector:selector]; } -+ (UIBarButtonItem *)forwardBarButtonItem { - return [self barButtonItemWithIconType:PBFlatIconForward]; ++ (UIBarButtonItem *)forwardBarButtonItemWithTarget:(id)target selector:(SEL)selector { + return [self barButtonItemWithIconType:PBFlatIconForward withTarget:target selector:selector]; } @end diff --git a/FlatUI/Classess/PBFlatButtonWithIcon.m b/FlatUI/Classess/PBFlatButtonWithIcon.m index 6fd17c8..97c3bb7 100644 --- a/FlatUI/Classess/PBFlatButtonWithIcon.m +++ b/FlatUI/Classess/PBFlatButtonWithIcon.m @@ -43,7 +43,7 @@ [self setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted]; [self setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected]; [self.titleLabel setFont:[[PBFlatSettings sharedInstance] font]]; - [self setImage:[PBIconDrawning iconImageWithSize:CGSizeMake(30, 30) withType:_type] forState:UIControlStateNormal]; + [self setImage:[PBIconDrawning iconImageWithSize:CGSizeMake(30, 30) withType:_type inverseColor:NO] forState:UIControlStateNormal]; } - (void)drawRect:(CGRect)rect diff --git a/FlatUI/Classess/PBFlatGroupedStyleCell.h b/FlatUI/Classess/PBFlatGroupedStyleCell.h new file mode 100644 index 0000000..633d8e1 --- /dev/null +++ b/FlatUI/Classess/PBFlatGroupedStyleCell.h @@ -0,0 +1,22 @@ +// +// PBFlatGroupedStyleCell.h +// FlatUI +// +// Created by Piotr Bernad on 18.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import +#import "PBFlatSettings.h" + +@interface PBFlatGroupedStyleCell : UITableViewCell { + + UIImageView *_iconImageView; + UIView *_cellAccessoryView; +} +- (void)setIconImage:(UIImage *)image; +- (void)setCellAccessoryView:(UIView *)view; +- (void)setLastCell:(BOOL)boolValue; +- (void)setFirstCell:(BOOL)boolValue; +- (void)setIconImageView:(UIImageView *)imageView; +@end diff --git a/FlatUI/Classess/PBFlatGroupedStyleCell.m b/FlatUI/Classess/PBFlatGroupedStyleCell.m new file mode 100644 index 0000000..f50f604 --- /dev/null +++ b/FlatUI/Classess/PBFlatGroupedStyleCell.m @@ -0,0 +1,123 @@ +// +// PBFlatGroupedStyleCell.m +// FlatUI +// +// Created by Piotr Bernad on 18.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import "PBFlatGroupedStyleCell.h" +#import "PBIconDrawning.h" + +#define ICON_SIZE 30.0f +#define MIN_PADDING 10.0f +#define MAXIMUM_ACCESSORYVIEW_WIDTH 100.0f +#define ACCESSORY_ICON_SIZE 20.0f + +@implementation PBFlatGroupedStyleCell { + BOOL _lastCell; + BOOL _firstCell; +} + +-(void)awakeFromNib { + + + _iconImageView = [[UIImageView alloc] initWithFrame:CGRectZero]; + [self.contentView addSubview:_iconImageView]; + + [self.textLabel setFont:[[PBFlatSettings sharedInstance] font]]; + [self setBackgroundColor:[UIColor whiteColor]]; + [self setSelectionStyle:UITableViewCellSelectionStyleGray]; + +} +-(void)layoutSubviews { + [super layoutSubviews]; + + CGFloat _accesoryWidth = _cellAccessoryView ? CGRectGetWidth(_cellAccessoryView.frame) < MAXIMUM_ACCESSORYVIEW_WIDTH ? CGRectGetWidth(_cellAccessoryView.frame) : MAXIMUM_ACCESSORYVIEW_WIDTH : 0.0f; + CGFloat _iconSize = _iconImageView.image ? ICON_SIZE + MIN_PADDING : 0.0f; + + CGSize _textLabelSize = CGSizeMake(CGRectGetWidth(self.bounds) - _accesoryWidth - _iconSize, CGRectGetHeight(self.bounds)); + CGRect _textLabelRect = CGRectMake(MIN_PADDING + _iconSize, 0, _textLabelSize.width - 2 *MIN_PADDING, _textLabelSize.height); + [self.textLabel setFrame:_textLabelRect]; + + CGRect _iconRect = CGRectMake(MIN_PADDING, 0, ICON_SIZE, ICON_SIZE); + [_iconImageView setFrame:_iconRect]; + [_iconImageView setCenter:CGPointMake(20.0f, floorf(CGRectGetMidY(self.bounds)))]; + + + CGSize _accessorySize = CGSizeMake(_accesoryWidth, CGRectGetHeight(self.bounds)); + CGRect _accessoryRect = CGRectMake(CGRectGetWidth(self.bounds) - MIN_PADDING - _accesoryWidth, 0, _accessorySize.width, _accessorySize.height); + [_cellAccessoryView setFrame:_accessoryRect]; + + +} +- (void)setSelected:(BOOL)selected animated:(BOOL)animated +{ + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} +- (void)drawRect:(CGRect)rect +{ + CGRect bounds = self.bounds; + UIBezierPath *path = [UIBezierPath bezierPathWithRect:bounds]; + + [[UIColor whiteColor] setFill]; + [path fill]; + + UIBezierPath *line = [UIBezierPath bezierPath]; + [line moveToPoint:CGPointMake(50.0f, CGRectGetMaxY(rect))]; + [line addLineToPoint:CGPointMake(CGRectGetMaxX(rect), CGRectGetMaxY(rect))]; + [[[PBFlatSettings sharedInstance] secondColor] setStroke]; + [line stroke]; + + if (_lastCell) { + UIBezierPath *bottomline = [UIBezierPath bezierPath]; + [bottomline moveToPoint:CGPointMake(0.0f, CGRectGetMaxY(rect))]; + [bottomline addLineToPoint:CGPointMake(CGRectGetMaxX(rect), CGRectGetMaxY(rect))]; + [[[PBFlatSettings sharedInstance] textFieldPlaceHolderColor] setStroke]; + [bottomline stroke]; + } + if (_firstCell) { + UIBezierPath *bottomline = [UIBezierPath bezierPath]; + [bottomline moveToPoint:CGPointMake(0.0f, 0.0f)]; + [bottomline addLineToPoint:CGPointMake(CGRectGetMaxX(rect), 0.0f)]; + [[[PBFlatSettings sharedInstance] textFieldPlaceHolderColor] setStroke]; + [bottomline stroke]; + } + +} + +- (void)setIconImage:(UIImage *)image { + [_iconImageView setImage:image]; + [_iconImageView setNeedsDisplay]; + [self setNeedsDisplay]; +} +- (void)setCellAccessoryView:(UIView *)view { + if(_cellAccessoryView) { + [_cellAccessoryView removeFromSuperview]; + } + _cellAccessoryView = view; + [self addSubview:_cellAccessoryView]; + [self setNeedsDisplay]; +} + +- (void)setLastCell:(BOOL)boolValue { + _lastCell = boolValue; + [self setNeedsDisplay]; +} +- (void)setFirstCell:(BOOL)boolValue { + _firstCell = boolValue; + [self setNeedsDisplay]; +} +- (void)setIconImageView:(UIImageView *)imageView { + if(_iconImageView) { + [_iconImageView removeFromSuperview]; + } + _iconImageView = imageView; + [self addSubview:_iconImageView]; + [self setNeedsDisplay]; + +} + +@end diff --git a/FlatUI/Classess/PBFlatGroupedTableViewController.h b/FlatUI/Classess/PBFlatGroupedTableViewController.h new file mode 100644 index 0000000..8c10833 --- /dev/null +++ b/FlatUI/Classess/PBFlatGroupedTableViewController.h @@ -0,0 +1,15 @@ +// +// PBFlatGroupedTableViewController.h +// FlatUI +// +// Created by Piotr Bernad on 17.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import +#import "PBFlatBarButtonItems.h" +#import "PBFlatGroupedStyleCell.h" + +@interface PBFlatGroupedTableViewController : UITableViewController + +@end diff --git a/FlatUI/Classess/PBFlatGroupedTableViewController.m b/FlatUI/Classess/PBFlatGroupedTableViewController.m new file mode 100644 index 0000000..0bdff99 --- /dev/null +++ b/FlatUI/Classess/PBFlatGroupedTableViewController.m @@ -0,0 +1,81 @@ +// +// PBFlatGroupedTableViewController.m +// FlatUI +// +// Created by Piotr Bernad on 17.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import "PBFlatGroupedTableViewController.h" + +@interface PBFlatGroupedTableViewController () + +@end + +@implementation PBFlatGroupedTableViewController + +-(void)awakeFromNib { + [super awakeFromNib]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + [self setBackBarItem]; + [self apperanceBackground]; + [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; +} + +- (void)setBackBarItem { + // Override this method if needed + UIBarButtonItem *back = [PBFlatBarButtonItems backBarButtonItemWithTarget:self selector:@selector(back:)]; + [back setTarget:self]; + [back setAction:@selector(backAction)]; + [self.navigationItem setLeftBarButtonItem:back]; +} + +- (void)back:(UIBarButtonItem *)sender { + [self.navigationController popViewControllerAnimated:YES]; +} + +- (void)apperanceBackground { + UIView *_backgroundview = [[UIView alloc] initWithFrame:self.view.bounds]; + [_backgroundview setBackgroundColor:[[PBFlatSettings sharedInstance] secondColor]]; + [self.tableView setBackgroundView:_backgroundview]; +} + +#pragma mark -TableView Delagate & Data Source + +- (PBFlatGroupedStyleCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *cellID = @"Cell"; + PBFlatGroupedStyleCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; + if (cell==nil) { + cell = [[PBFlatGroupedStyleCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID]; + } + [cell setFirstCell:NO]; + [cell setLastCell:NO]; + + if(indexPath.row == 0) { + [cell setFirstCell:YES]; + } else if (indexPath.row == [self.tableView numberOfRowsInSection:indexPath.section] - 1) { + [cell setLastCell:YES]; + } + [self configureCell:cell forIndexPath:indexPath]; + + return cell; +} +- (void)configureCell:(UITableViewCell *)cell forIndexPath:(NSIndexPath *)indexPath { + +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + return 30.0f; +} +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + UIView *__view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), 30.0f)]; + [__view setBackgroundColor:[UIColor clearColor]]; + return __view; +} + +@end diff --git a/FlatUI/Classess/PBFlatRoundedImageView.h b/FlatUI/Classess/PBFlatRoundedImageView.h index 034614a..67d0dc9 100644 --- a/FlatUI/Classess/PBFlatRoundedImageView.h +++ b/FlatUI/Classess/PBFlatRoundedImageView.h @@ -9,5 +9,5 @@ #import @interface PBFlatRoundedImageView : UIImageView - ++ (PBFlatRoundedImageView *)contactImageViewWithImage:(UIImage *)image; @end diff --git a/FlatUI/Classess/PBFlatRoundedImageView.m b/FlatUI/Classess/PBFlatRoundedImageView.m index 509a04e..035b4e9 100644 --- a/FlatUI/Classess/PBFlatRoundedImageView.m +++ b/FlatUI/Classess/PBFlatRoundedImageView.m @@ -13,9 +13,21 @@ - (void)awakeFromNib { [super awakeFromNib]; - self.layer.cornerRadius = 50.0f; self.layer.borderColor = [[PBFlatSettings sharedInstance] mainColor].CGColor; self.layer.borderWidth = 1.0f; self.layer.masksToBounds = YES; } + +-(void)layoutSubviews { + [super layoutSubviews]; + self.layer.cornerRadius = CGRectGetWidth(self.bounds)/2.0f; +} + ++ (PBFlatRoundedImageView *)contactImageViewWithImage:(UIImage *)image { + PBFlatRoundedImageView *imageView = [[PBFlatRoundedImageView alloc] initWithImage:image]; + imageView.layer.masksToBounds = YES; + return imageView; +} + + @end diff --git a/FlatUI/Classess/PBFlatSettings.h b/FlatUI/Classess/PBFlatSettings.h index 3cfd164..f9527ed 100644 --- a/FlatUI/Classess/PBFlatSettings.h +++ b/FlatUI/Classess/PBFlatSettings.h @@ -11,9 +11,12 @@ #import "UIImage+Additions.h" @interface PBFlatSettings : NSObject -@property (strong, readwrite) UIColor *iconImageColor; + @property (strong, readwrite) UIColor *mainColor; +@property (strong, readwrite) UIColor *secondColor; @property (strong, readwrite) UIColor *backgroundColor; + +@property (strong, readwrite) UIColor *iconImageColor; @property (strong, readwrite) UIColor *textFieldPlaceHolderColor; @property (strong, readwrite) UIFont *font; diff --git a/FlatUI/Classess/PBFlatSettings.m b/FlatUI/Classess/PBFlatSettings.m index cab0e8a..1ef5305 100644 --- a/FlatUI/Classess/PBFlatSettings.m +++ b/FlatUI/Classess/PBFlatSettings.m @@ -26,6 +26,7 @@ _mainColor = [UIColor colorWithRed:0.35f green:0.51f blue:0.91f alpha:1.00f]; _backgroundColor = [UIColor whiteColor]; _textFieldPlaceHolderColor = [UIColor colorWithRed:0.80f green:0.80f blue:0.80f alpha:1.00f]; + _secondColor = [UIColor colorWithRed:0.94f green:0.94f blue:0.94f alpha:1.00f]; _font = [UIFont fontWithName:@"HelveticaNeue-Light" size:15]; _iconImageColor = [UIColor whiteColor]; } diff --git a/FlatUI/Classess/PBIconDrawning.h b/FlatUI/Classess/PBIconDrawning.h index 8c1e678..b1627d2 100644 --- a/FlatUI/Classess/PBIconDrawning.h +++ b/FlatUI/Classess/PBIconDrawning.h @@ -18,5 +18,5 @@ typedef enum { @interface PBIconDrawning : NSObject + (void)drawIconInRect:(CGRect)rect withType:(PBFlatIconType)type color:(UIColor *)color; -+ (UIImage *)iconImageWithSize:(CGSize)size withType:(PBFlatIconType)type; ++ (UIImage *)iconImageWithSize:(CGSize)size withType:(PBFlatIconType)type inverseColor:(BOOL)inverse; @end diff --git a/FlatUI/Classess/PBIconDrawning.m b/FlatUI/Classess/PBIconDrawning.m index 8f9628b..cbbd6c5 100644 --- a/FlatUI/Classess/PBIconDrawning.m +++ b/FlatUI/Classess/PBIconDrawning.m @@ -38,11 +38,11 @@ } } -+ (UIImage *)iconImageWithSize:(CGSize)size withType:(PBFlatIconType)type { ++ (UIImage *)iconImageWithSize:(CGSize)size withType:(PBFlatIconType)type inverseColor:(BOOL)inverse { CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height); UIGraphicsBeginImageContextWithOptions(rect.size, NO, 0); - [self drawIconInRect:rect withType:type color:[[PBFlatSettings sharedInstance] iconImageColor]]; + [self drawIconInRect:rect withType:type color: inverse ? [[PBFlatSettings sharedInstance] mainColor] :[[PBFlatSettings sharedInstance] iconImageColor]]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); diff --git a/FlatUI/MainStoryboard.storyboard b/FlatUI/MainStoryboard.storyboard index 1737fa3..4e60563 100644 --- a/FlatUI/MainStoryboard.storyboard +++ b/FlatUI/MainStoryboard.storyboard @@ -153,12 +153,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -185,12 +223,21 @@ + + + + + + + + + diff --git a/FlatUI/PBExampleTableVC.h b/FlatUI/PBExampleTableVC.h new file mode 100644 index 0000000..f5a1c7f --- /dev/null +++ b/FlatUI/PBExampleTableVC.h @@ -0,0 +1,13 @@ +// +// PBExampleTableVC.h +// FlatUI +// +// Created by Piotr Bernad on 17.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import +#import "PBFlatGroupedTableViewController.h" +@interface PBExampleTableVC : PBFlatGroupedTableViewController + +@end diff --git a/FlatUI/PBExampleTableVC.m b/FlatUI/PBExampleTableVC.m new file mode 100644 index 0000000..a3969fb --- /dev/null +++ b/FlatUI/PBExampleTableVC.m @@ -0,0 +1,125 @@ +// +// PBExampleTableVC.m +// FlatUI +// +// Created by Piotr Bernad on 17.06.2013. +// Copyright (c) 2013 Piotr Bernad. All rights reserved. +// + +#import "PBExampleTableVC.h" +#import "PBFlatSettings.h" +#import "PBIconDrawning.h" +#import "PBFlatRoundedImageView.h" + +@implementation PBExampleTableVC +-(void)awakeFromNib { + [super awakeFromNib]; + [self setTitle:@"Settings"]; +} + +-(void)viewDidLoad { + [super viewDidLoad]; + +} + +-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 3; +} + +-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 3; +} + +-(void)configureCell:(PBFlatGroupedStyleCell *)cell forIndexPath:(NSIndexPath *)indexPath { + double section = indexPath.section; + NSInteger index = 3*section + indexPath.row; + + [cell.textLabel setText:[[self exampleTitles] objectAtIndex:index]]; + + + + [cell setIconImage:[[self exampleIcons] objectAtIndex:index]]; + [cell setCellAccessoryView:[self exampleAccessoryViewForIndexPath:indexPath]]; + + if (section == 2) { + + switch (indexPath.row) { + case 0: { + [cell setIconImageView:[PBFlatRoundedImageView contactImageViewWithImage:[UIImage imageNamed:@"js"]]]; + break; + } + case 1: { + + [cell setIconImageView:[PBFlatRoundedImageView contactImageViewWithImage:[UIImage imageNamed:@"tl"]]]; + break; + } + case 2: { + + [cell setIconImageView:[PBFlatRoundedImageView contactImageViewWithImage:[UIImage imageNamed:@"cn"]]]; + break; + } + default: + break; + } + + } + +} +-(NSArray *)exampleTitles { + return @[@"Airplane Mode", + @"Wi-Fi", + @"Bluetooth", + @"NotificationCenter", + @"Control Center", + @"Do Not Disturb", + @"Jon Snow", + @"Tyrion Lannister", + @"Chuck Norris"]; +} +-(NSArray *)exampleIcons { + return @[[UIImage imageNamed:@"airplane"], + [UIImage imageNamed:@"wifi"], + [UIImage imageNamed:@"bluetooth"], + [UIImage imageNamed:@"notification"], + [UIImage imageNamed:@"block"], + [UIImage imageNamed:@"donotdisturb"], + [UIImage imageNamed:@"general"], + [UIImage imageNamed:@"sounds"], + [UIImage imageNamed:@"brightness"]]; +} + +- (UIView *)exampleAccessoryViewForIndexPath:(NSIndexPath *)indexPath { + + UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; + [label setTextColor:[UIColor darkGrayColor]]; + [label setFont:[[[PBFlatSettings sharedInstance] font] fontWithSize:12.0f]]; + [label setBackgroundColor:[UIColor clearColor]]; + + switch (indexPath.section) { + case 1: + { + if(indexPath.row == 1) { + [label setText:@"On"]; + } else { + [label setText:@"Off"]; + } + [label setFrame:[label textRectForBounds:CGRectMake(0, 0, 90, 45) limitedToNumberOfLines:1]]; + break; + } + case 2:{ + [label setText:@"iPhone"]; + if(indexPath.row == 1) { + [label setText:@"Home"]; + } + [label setFrame:[label textRectForBounds:CGRectMake(0, 0, 90, 45) limitedToNumberOfLines:1]]; + break; + } + default: { + [label setText:@"Additional"]; + [label setFrame:[label textRectForBounds:CGRectMake(0, 0, 90, 45) limitedToNumberOfLines:1]]; + break; + } + } + return label; +} +@end diff --git a/FlatUI/PBViewController.m b/FlatUI/PBViewController.m index f28b010..1ac4fc3 100644 --- a/FlatUI/PBViewController.m +++ b/FlatUI/PBViewController.m @@ -19,8 +19,9 @@ [super viewDidLoad]; [self.view setBackgroundColor:[UIColor colorWithRed:0.97f green:0.97f blue:0.97f alpha:1.00f]]; - [self.navigationItem setRightBarButtonItem:[PBFlatBarButtonItems addBarButtonItem]]; - [self.navigationItem setLeftBarButtonItem:[PBFlatBarButtonItems moreBarButtonItem]]; + [self.navigationItem setRightBarButtonItem:[PBFlatBarButtonItems addBarButtonItemWithTarget:nil selector:nil]]; + [self.navigationItem setLeftBarButtonItem:[PBFlatBarButtonItems moreBarButtonItemWithTarget:self selector:@selector(showLeftMenu:)]]; + [_textField setDelegate:self]; @@ -31,6 +32,10 @@ } +-(void)showLeftMenu:(UIBarButtonItem *)sender { + [self performSegueWithIdentifier:@"leftMenu" sender:sender]; +} + - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; diff --git a/FlatUI/icons/airplane.png b/FlatUI/icons/airplane.png new file mode 100644 index 0000000000000000000000000000000000000000..f545288a9ffa3c2d9f87d666ed9ba03a843ea0d5 GIT binary patch literal 1915 zcmV->2ZZ>EP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER0009LNklJN}GWs zgw%Ry2`Ypy1tNw0c`0AogO&Xu$e>))Mp0Q3)k6;z6=jVg`eP4C*h8Apf{JQ^nf>u4 zLo{{HJGaw0lijx4?ly5qhmCvBIp5#!^ZT9qJ3m4x#cU2?HesCg{{SmaU}=U0&*#+Q zj-v}%i8=|@43B4`N3X|kNx=HLR-FG}bLbKQRRx+X@ERB57?I!|8^`9#@oKAs5Y0@X zszC1e>`l^TFrdxP3i;g|nmn~jjDHn9SVYHWH%y^C{knu)xAAB4UiIP<_x%VIf= zwl4!0?1h;LwMuay%QUos0F#qQ@9oFsjh9fU)WtiOfuo~nUeSmOrJRg@(S4j%1~w{UPZzq~Z}T89E7!xv^^NRh)BPgs9ZUnv-B_ z)7PL=tA{x^6Bd^fHnd&I6Q)r13ie`A9H{s1(>i}!NQyx zVL(A--_Zw&wb$XGAowH{loHHkbNN&R_Fb8FATkXgY(F&(pOzW1qkT8ta$n&^!Yr8s z9TR2;LGqIsEA!yjg=_hi+HiZ2{r)qoY<~mS$kD19Bw}6A{5{g}3|Xk`r+TDpbJ|C0 zNWsTqBW%II!+`7?B6l8kx?U!(XhvJ$VKCo6K;lD^UW4w(Yj7>UDIf}J;9N<>%0X&j z*Dz3_goVjk-t|@^j`E%>3*&f^GZd3CF+Uqk`Q_m-?xSuCHIKNkjyK zR6acz_azq%bF%++1D^23(806o>&HG;ks@!~Ivu{26{DuA97CbHc;DrFsAf>ojM8^5 zwEO)KwE{*8^H9}&2v61YvDW1bBMEtSUwC$aC-v%^l+IZLHqESZ38*}e>9Hcsk=~~>npW?6;QC>DP8>+ziAuMsbk*?F? zZp$Xr7MZK1nW3hvV-`&!AfY~@7EP!yQSY-3`~#q@M)98YYTEz+002ovPDHLkV1keu Br@H_E literal 0 HcmV?d00001 diff --git a/FlatUI/icons/airplane@2x.png b/FlatUI/icons/airplane@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..42809073bfa425ec622710bef7684f409a5f4847 GIT binary patch literal 1620 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 Z&p7}9 literal 0 HcmV?d00001 diff --git a/FlatUI/icons/block@2x.png b/FlatUI/icons/block@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eb93de5ba21bd5aaec142ca22c3e8b8821891db9 GIT binary patch literal 1845 zcmaJ?X;2eq7*3!fw<4DZ#x)cX3)yT!0tqHU*dUBX9f-=Il#nb*fXyzORYFip5m7KA zDvF}RD8o3Zg2zY|4?Hj9ODqQ+xHthQq}2(~}8JG1+K?>Eo$yvO%`vqg&* z%yn^`>`0^0TwScFVDddFc#5cD+ncZaB05QP`EIXKolfK$T2K)w2O;07>VgM7!E{60yAX_rB-M4 z1BMAQnJ`ADClxv+5(A5vlmttwRSCI~QIHhk@nJTH4?$8+XavNS^7+9WK2HL1V0e@Z zW6BjMq9aGSs(-m5-{e|n0mZ4vFhXcoBC03?LxJI%h1##?B9%(HA%bt}jc`?8&1IMy z@l7sBB?DSd_CF^*xHj=)+E_W)1hpVixoQ>N8P;F+^(YXaNGA>gcpX;+h-DZlkd zS?uM&i;eO+PIQ0p?hICU!?dW3lTR&{2K^&O{k?umPH6TyeP#bWedYbvo$0)qgv>kj zG41Rfx&v@SoOn&C`b|YpIAaRKbm084LLHobs5|G8R4HTzUR_&wrn7TB`^C{VVYe5( z{)C<9!a0gZcfioC{e7p+H{S*4AM@O1><7_2c|)0GVt(*tv(5EB zfwYx<%(0`i+yu>cZ@blPm*%xR@>(a`%U0vr9^s1f>EZ#2>3yK_^4iR#sXdll^T5=? zkeurKbJumzT}_f|?NDpamD&i`QrkY7Abix|j+5dpW}Sj;W}FLu<{jN>G-=H3rDRO6 zzK+o{ARIrZD(~1q+v>pwTw3gJzI--u+52A#)>`_PPS|4UEjaAuscK&Q zDZeyqY+vQmpPGi!m(5EonY?jhmFUu|+jah3M+9#t`jaj7?Uz!DD$jGC(I2`3@wZrL z)XG+MG}+>TMwDz6sk|KG?-tbT%d&4x_T~1|i^-2`Va>uB3>WSVznz=%4u3crW$<}8 zIM|OhyD^~LTFy3ygo5L>bn~xwS)(FX6@^K9N zxmhbiuitVg_b!T?w67j67jJV)Ce+Ue8;;Klc3N?zV3qlLQ*X}|jZr-YJsdo=`TW6G zf;R^q014tIyV~hR?=HBf%KE>{-Mi`C>>ZZu^ E0I_GrH~;_u literal 0 HcmV?d00001 diff --git a/FlatUI/icons/bluetooth.png b/FlatUI/icons/bluetooth.png new file mode 100644 index 0000000000000000000000000000000000000000..850595b1d1b3d37ebfd7b5123661ea1e7cf965c3 GIT binary patch literal 2185 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/FlatUI/icons/brightness.png b/FlatUI/icons/brightness.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6fa3910633ab355b0e397b3160a582184cb63a GIT binary patch literal 2324 zcmV+v3G4QWP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER000E5NklVcKKL={Q!hfNXIq; z6_EHtGjagO63fP!W}9+sim4<4u{1Lx!2Kgpnqi0;bhd18imZ13KpnzKZNNSVY=Op! z%2E6vq)D3~z7+Q3bRY1DeQzHd{n49wbMHOpch0%zo{xJuBEtXqY36I}!Ac}~fwdQ$ zI7W7O<}1(7SD^bBZ2tKYjv5vqe7>?Ge%>Cs2?Q_P!`y!{2Pizeco7R)I8J>dUI-k= zHada1OzPB}ksAzMZ^P-_eN@@;UY^#U52h&e81(pRQ3A&O@gJ$is)f7oT|ybQaqN?0 zd2( zX|w<4OlZu-RADS4T3Sr6&*sfFf9x9}DB{rSXEN|R$R=OB3L zUaHpTk!STGS|jKCTl*x89Pr|&lw{aWcN0r!x11-fo4YB@R6tkn*+X^W1|_=MsM%~o z>iKqTaD=%bvKd5PgC#*3t59A{A2znettmLkrmo>(gbD(vcMzk~ z`V~Vtk+&ufLmn?e9k-{tkJpW4;wN=#M4ilL*A-YA%)kWy#V#BP0T$kIBYJEC(ONxn zVp38j4JOTnEN6;vBFKZ-8Jz;Mn6aTr5w)`x z>Ge$%VcJ1Gv9D0$wf&hP{;=yS>0vQx?k%B0rf{;%{NW_poJk{s(%z=0S(eh0H>kF% zl}u7%h#8t)P3u@^xfxSP-`BTMgrsz?F<{|aIgbCVgo^tAz(I|GTja%;EGR?l@RqZl znH?Mq=L2SJZQA)yS5iBEk*;WM5_qi@rs#OMP7)1+<7&*-2=pwonw}&cb^QVuKhlK>`XeEBy z0g8^wr+%>!IMdU$5?wwjV)$qcrA8Lebym#185NW+7f@Tf_%wgj7+UPhM`&)H)~C$@C{gb$5*%12aYIk`X3aAomEY}4>)XB$#nMFF#P zwlQ(8%f(*yIIOrMAd2dy?m{_cuC!6b3 z6eV@YDWcp8(NQid5xKlvQdFmdep@G<-ygqz&-e8_-^=rPzdyJ4AKw&jPZuq?AshyS zX}P)5d=)cU`L0q|d`pt;HYlclLG&QV4-ALIOd$YsVuN7-!i~p_0DJ)^J9d8yumuKF zHRbpRK|zciR2IlXGnF=I2~VIv!(dysN(4+67l069Km>fTus}0GCB!Beyyrwn(T70v-S{5fWY$UqqGIBR}&}6>H@&28sA=0&(q; ze+L!B@J2X;LI6QT6HzQI&IVyiLF0%x8!~P)0*}QJFjxWxM?m55R4j#xBO<;$NQE~c zJDloE+y2FuVrP$xgdhPGgAt3xXfXi|3L`K$3Wb8f;xTwUN@0N##quGh1jQGbE;G;o z5lhGsKpc>dP%<*Zz-Y)GsfhIN6nKKKw0zN*GARm%kuU`q92%=kY1xp$`2VIn-dAf8 z0@Bbtg`Ns+Xj4vPpqlGL*%YHglwa&hCz#f zSnuT5viYIR@UQck$Lo-YLDl>22OJyF4O@l(ceWb>qLivyWV<9ArL% zj~MgU+;II^%aTMz`uHGQ)wRATrYPJ;#p-E^&jr?y&9t3f&M)&mgQW&bO!ed42Nx{h zv#M=PYh~~A1unJ=AHjx{kMxKPEB)cZoQz5n^_tdDr$hq*x7)JkLDQwUypBE3R^?X0 zgmdq21sb#I&BNz9xd9sewwGD0DIbQblA(u38Xp@UzLK{t7s;yEhEg|OQRypL z(AZP(dy%fkv53LYl7YEZF_|$7;YF;?lCdMkoY;*R8mWXK!cD-tTGXDoMkU;F7=rr}Nb+9k04+UN-{ znNMiP5KkRJCk*xnpTkybdsd*rhIM{Mn1-$VHH+Y$nXR2^t@BQIs`|aYiA$={km;d` zta64VqP zP~Sdm*tN8Ew*Fb2u5LPhnl%$tId9|=<$9=WEC^?OzwvoBrSNRubElGFm}T>< zPg*v4b;_&38PWzDgEfP$>5k(+dStJxWsD9u=H_awcrHCNfMGhIem!N2b7{q!AIc=$ z3Q0>W;B_s1zkmv7hrKFr$26zs7+jFfV&KETw zX7{MoncpSrj;HOK$ZF{Lg;uQiWudm($Dw4m(a|iDiY&8R`=!i89uY5{R2_Z&`zCx9 za4_S;(Kz%BkCL^w>Mbt)HxnLss`IAr z>Z-#J#x-3+lBzAERo=nlt>`Bme$Ibbv4cpK6i(!13vczP8sjeQ+IU)R-2DcuD#fu? z{q-e%ee0D~r6hgl#v#c1)M-_-HV^%Tw5P$%bEqiCiHf;)=1$jS5M5&ym<3gM;F}Y< zw}NC*fphg*YCe+rv5@>VQ&G08D4m;H@M}WP-;ks_t*Il|AB6?Dfarw4mW@&8CSg;G z;bPVPN3x`#r3;1%qZ4xz)~hebotB(nTW71<`Z*VrAJm z;`IEa_5ns|6w8m~8t&d#q09zgH2S@jJ5tW3b%aTTiJoP;f(w~IfpilzjH8z-wBPp_ zN*DS_r1RH{P`dp=U{7XrGNhYiSxDKC!qmB48FT^GwhZ?+?!aikb+p5f<*x$4QXU_| zkNHH#@jpK|VLQFKGn}H&V3RMD`>rl5Vx?xYgnk;*AL!%U7A_s_b0O?u_(iq#xupEoh|_mCJJ28ZF8wk2Dy>Qfs=Oo<#a<0O#AMtA$)9r_ueFJ6{qqvdH=A1 z)!W;4m{Ix{|8!GDRR>imNltxhOIo0TwVolZi>1xK{D6RPyKw&NS{gb4@m(w}tn4{m zcnJSXg7aVhKV&*W{QnYhFy|pum6F95vbHnCXQ5@FWhCT<#>dC!wlgr|louBLANapN z9zqib2OCa0I%j8RT4yF&Ydd2)1`ZAmI(kMrMn;-{5;XR%Rt`WH8Y_FE|5oz<=@B-x z*S9mZaWJ*E!vBw6pq{m(0}mnLe+>QK=fB5k=wkZ+ELqwAk6Zs7r27wtj)9h*?*Hok z2j%_`l~dN##n3`k*woU{%Ko1XUJgd?{}TWIG5(*y{{>Y0UqJf*4g6n>{{eE-{b%_9 z%bov@)qhd{1&bG&o9_Pxo)>xm*?tuSgzgw1ETHJ}<1$07MswLQt9^Rm-sU(w6dymf zNLU`JlAM@E?k-2zX*5jBY1Qz!S6UOGB<~fj^MSzSRj+`0+-tvT$mK-X9;a$+5Sm9E zmnR%rKr9dPOA!1A5{STr^O?K*6|d*i=yUa^r!9dzbLlP(R^*la)2jPr<5%a>nmPRO zk@tJEH`nv`{3O&tb91wnbdn((-`myoU8|;-DB50LHtFr+IC{40M=c%S+s@$qu?f?S zKmEh&i#A4}SKQ&-tpQ_bIB=yzG*JEX(s}DXH~VGv6B7R2iyT@lY1%clq%cZEe8|KQV2nO`D8Ch+><=-K^`AGiIPOZ&R{Wkg)Y z@%t{5H*z*50?u&|D?X zO-;PFx7{AQ2ep;T#q)Tx=5iPbVZeh!hD0l4dbD`$6G$X~Z&S|EIt+oj9KMkIS70eZ zl-Rlq?_I0Lwv!kwb!r;>D))u3V3;4VipsG^Of2E4@Q_D8$cT z&eZMV1gX7UqU^VKQNK9C4wTXx^%1{Bvt`P>tC5jr*% zsG~3-(OtPOo~w3T(dCqnHf=)K=G4<^{ILD$05S6_ap=HOvrUXw4wQ${ikjNtc`KO2 zAV$v&xg9o2nTU62Lh^lAbUu8CBinM8%RzmnQ~Nfa%wEE*b6gPy;KcP@Bhxm+#j8rY zw;UqgHpu{xkFjGC!%QAr#+$XH2Mw&L?b4=3&m-?}`I0Q|R5P!dGRPWZZl84BDIrk9 zWM~XtWl|&>B~^`yARkO9kbjD~)1{orxSQZdToN@C-E04rBD)PW?sB@ikf@Z-W?+Q! zBcLz%(|>7#J4$_l4+wQhP>}yRu`pBh@h{oNDkf=cn-Yl8ufZn)X#KYcQBCh%8Z;~*G zTn>F=>6B7!l?W$cJ-X3lays6QxmEK~qUIrP!jZPfxd-;w1i5JC#$7>=c4h%IP%!WWfm{B9n2)WOh@|6eM z?TtOwQ{PW`tg)k(%i3;+2&266%7?KbUtW+mP z%C}{PS|pKIJ9k8;Yvx>@5TwfliCV__&1pJ^75Pa{E)3*NM|eNt!6Q%MM_$`-J20W8 z#9-1DA-lfB76RY^zgyys7hkSNTYciJZ&MMNnO~hy_|tIeXr*)x{6)f0<<9MTc(96n(iQjC>>RsLXjVkC7~|r>n5B zk*Psb59+z-0)d8BQ7+2$0W~$(GeA?-cI%fC_TkHHZCx_V=g1v(CVe1l*O7Ij1!|>Alq{qI zu(8QiR@z++Ue}k+G;CP=nwnH7ZHIR584Fk}q+tQyuw?{P6kaalXJ?ttosfR+*nXju z+K#@Dy5gmxYBmJO?KS`))LS1^B#ZgR>@b1IkKhom5_T35_lmK0^r*SXZ9%UjrcRJ; zih+8_t7I>A?bYs@mNEOKn3Ov`HrR$%fM2Uhcwy%5LE&W7vT9~EO;Y}xoB8qF&>MTC zgdD?&$TDktwZr@q@fgXUE%5k$oNFqTEBE!wW^C?=_O*VpOi8;8j?9=#a#eKPn^I8C zQwa#dO$KlhYG9PvImggn5#7v4URrk<3F!vwSF}abrHkZsYke`?S`iAVWSBrpw0VAF zLhi@CSctTaqrejxV6H4JS$|ga^#}u&?xtmxb}33;J3OwW-`Lom_$ZbbP;f_!4*lA7 zeRh$4B8aC|qh4l>}k} zH5KP@uRxBHnR3zXU+JQpxs#kqN%oUYusdu~G?$@RVBml?wV1~mQ+FcuO5RU(kuw&w zZ+z5xKOrZzH{i|wSGPj`?i;CWMux|<`sU<{J%iE$56AWq;|wf2p`JCGosb@4&&VA$ z1*%82CS@XYpc%oK;eO?1rk6F=c3i=)bE=4tgaBDmW?9XP*MFvz|m zKLSDm<4*msysd-)H2*)?mhdtj;-bK3y&|S0E=wOm zYh9G8gY?&`iOJ1ZeY~eJC8_Y$o*rfsHYqXxT@&UB5Pf=aD0i`aukLB$0(m1bqRZ&_ zeneN~?dRLy1A`OSJ!UAwt!|ADCVY0OD1X^m^h%~c@_zE35SN&Eq~4D5;3dE?hs5zcR) zyDkF{X6OY$M0&{JxW1N-Ic8XA{RZ%c13%sqo2qP78}jW zC8%z;aiSn?n{37r0n9=_b1fu&C3<&!K!hv&#FG3QCT=H^)o6kdw-I_HGCF;r0&$#* z=okyGt;PFK^1JV>?|l6pwoFzo;e)7w$8tJoT{pSfvXnJWGZm=TTy{AODv3x^LmK{8 zXUA%5R}XF{fb!+&em|8G^@KD07>u~xqktlxkb$f{LX|y=fWnplmP4qJ7=eH%1qdF5 zJ&L6&2Dotd$f5}lcPVqW=1kmd^y;h41ICXzH5<-lpJb7SeJrnfUN$l@DI2iVfJSKgk>BjS-9#U63bxKYDMH=>UoCs?>6cfJ z%2Z9XBqjL_e8)_<`)+rGCK+xOJ4~9(WsOt14R>J92cRt?gwR_rPMs$hgADBC3$JG` z5r0*ocnKIQMIY1OaCIxXh+xI5;h`Nh>#J(7Pc)=jP=t4P^R2lYPLdiUSt^1MjWHm# zAabs9c+zy&3hDX7VJi4g#ls_Ahai%)m)tZo{CiE9%}4=!QQkYA&o=D7zV^|h`0G^} zX3)Q5JXSCQL#7`bIFC#Wl~>F5c$Kvqg@wNh#2hd9z0NV1SK@zK=gm62%UN4#+ zj_7oSDlY&`LkWXKI0C;snjjf|4P|v5?`os;yl&A;y~WScqg%tSt8i*OngvP;W|EIG z=51@%)?AOQ+XI=2N{S@u8%^dkmI?FFWQa*`IAj-^Rug_n(E4yT#$vJBl;qUWw%M9& zf*39poOCQcthEiX87$ls!k~YRUw>UG$auVZianbm@=PKRx^rZ<&(%!Cd8g^a1qdJ( z@7f|YZNOk}j>7M^OrLqnQnDnC{-&UCGfAnTS4&wLomUlV01RA2h(Y(M(-KTTilay>-IVC$4x&h#Dq6T7T7kyMGbCdArUsj;he?95kWj~QC|S(daqUi+|PfO z{Q~;L{T3g#wsos&TNFo z45&@0?6s+!--LiwfN=Z335LT_S2bW9XQ-h{uJ(EyB|9}m77YR)aB7kYNx@4s^@TuW z&m}|IH-8sgJ7t$Q7#BJQp~xRgvN`{dKM9hFMX;uAO{=e)0uc%KSQky=U!VANt z(9t;%#0h$^{qtkO0TADhK5l+vn#&h;#oh(weap6Z&qZo{9`MWOVjf1PYCiR>* z-h8j{ncCYZBGe9I@sU%yjeT;U(TQ zfMqNhQRC`rXVDe|(~q~cHJ*dC-QNI%u% zwOwnyCt(o~Xd)cnWWJz31%+oEQyk|nwi-6gq)(F0A6{NoPF_Cl8a%K?^FE%0AL~D{ zN5mL4w_3Ow{u;QIzK6L_6o2jM0>gWY#e402?pi(;o`HoJAdQP|oE; z3S3MtrhrnlQrwK}V~=e+{a!S&&nc6d#!ep0>hl|&%GSi^cVK9SU~FSx4Tf?Sr{mFR z^3*UCNS#6^3ad)BHr9ITWBGDb*`UGQDJ0)#*K_A}w)X*%bNBn^qg%c#H9r1u)(`^> zst8)viD>h@ZX&cCi^253k5#ioR5VI$ej=gSDyoBTrgQg^<->5Sdz~DKgirb|T0ll*xBM&P8vV z?wGPzyLD;yFCi9UxY1LCFqD`?i#aaCiJoHr?9I6hpXbHPt>^pmw)3^8bN6}Gtc}aw zDl+w3*S9bHme(+juAY_zd+>`%B~egSy#G_~vem>KbUz<-m;-faJl{v>_V>W|>-*#q z8c5AL*(d=O_sjK0g8v}Cam7Ju+H&9lL#5TTTVl=J<@0g5(o|M}oNepr;A%nt-kk2r zlM`nvE0$2B9m!NAM~~z4tTXrBoGY5{4Va+HNqYIr8=Kxq0?j_Ulubndeh5#j%2c-Z zV_)F3*Hx|yGcKd`*kLrE^9S4ayfqCSos6R}v_(bRmY+L&0bS+u1MzpX2{fu|!p+z6 zFyB|R_kDBbt}I9m!qgRR8+prwg{1E2r6K|~z6D^==oiJx^vRR`CcUmyQk0Pgus<_u zYiq-R0r)LH<|g0F*5UN2-prO_O*^_pFtzYAio{=1o|~Q@92=$pHPhDj*CSIktLi+$ z#)d_$kl=5Wx5H!|uakNBue<7xIs;>GJaNn@AZ)^G-HE7;!p5(gpfo+4`1KaA&*|?E zI(BX#r^QWQ5P2BSKB_}N%~~An8*5atJvEXi8xe;->WSw6cb{Ndv>LP44?T^zW;q_ezu@qsT1*Vk8!LwGs{fp+@CK~)dAM+|)fz&q zf#2}dh-ZSzE7Bt@EOebRg+UpgVWNHBD9wI>#Dq?+AUsF@e!u4JMZ;30-bj4V>}$ne z(NaW0wS8#I`3s(g{aY;i^TGIQulfrs*liGeFmZqoTuP4?mgZ0*_E8l-l~k>QVhPAU zQ3~6OQ5BI2N5^wphwQ78uWY@L4txLUvT)Y0)KsOZ)^1~XzPMzvKSlKZwc2h)SAtg< zxI`))2UIjBdS(ApguVpMu@cgT5GgOFy2<>!prFI!bb$dchwU@S6OQ*wkJVHh|4K=_ z=4*eBw4#$`(NC6i{-bK%O&^X!xx%wB^AWT7*h58EZH=I*b?;#HTt0C5=jbSepGmE_HHQ#Vi9lXE)0 zk3hcHeZJK-)71~{!omVJa!fVDYZ1|d&EZCi!Ahw$B_(5;>z`^-*QNi6oiLS8FO(m!z-y-8E z=rSJ4kP<~UZ5*f$qKKBFqEdmCgM9Ka@OQM!MJ7s`M);?m zU{hFgGpF@9$>U(_T?zNqZ{4-mxn3I^2iL0}P1pQp-+hBa0q$HLItYHn z>FfMhpQzUEbUNyzT3%nTpkYo%!?Krnd=qTcB*WDzTi)^tbhU^zdh}Lcme)tNX$8x4~6|E`tV&1A1nC1;U zT&y6T`(%^~FZl0eJs;NykJPA2Mr_+&LHYJ&&xcwuolYC+0^ta{^hRjA%?*%14PpHO zx2qNVf9pADKJs0h8D$C-Kg%p-jm>P^Q3EIHV`^doSO&@X^zD>jDhcu_Og#VORm6`! zh`d2Un6H4PwNtIOE=SjV$HOeI>}lHRZ zYA3GCY0szJ%F84LiU++SA3goG`v@$wc+dPi7G_?%mSiLJbVU$ACt)1DUb9}d zBAKd%jMYO=8EvmZ*_=_`@c^AmHr-xsXqvH^WsCOYOgV|?iGS>qeecGTb-5z3@Q#adSXWW@+68;&arjuZ?(oPB z&vWU3^^KP=@a6l7ncCDcyL0*`k8@Ua0eUU*0|~O6_cpZKeVXSvK?3^;z2>RNe~>~s z3wK(Z{gHb>brL_q$Z``9-qV&Ng{+2th9Z*0ZA-_e8uXF! z$E;GG7$)+Da2a$^xO60><89Qr`4dMO*skwag`Ljh5A0~2zl;{`DC;p(khRW1tjJXy zp9s#|z~^ae_?X4(fXTicIJNgoqHIJcF*qvXUHnTmuY6FBr{N0nlN(wrEmFXDWKhCb z$L*$9=JP@3J0Z$Kdf)x`^%QvkZ0(Jr1E`S1NrXfT`Dq^cDHZ{Mx&N^uEXL0Hp#G&z zo=%B~Mz-IsQFf(!Ml;L2u5l{c#fNBX{c8<|j?eoxjFl}iVlfF-x2*%r$;tA(RfV>y zQ5}cVfe~1>aH_8Wdp1!@THg2u>9sSG38@0cZ+t?pLnsC#@q%s&k!`L(mcmQ~C5JC6wRNW^Fb|BvIX{l^-K1+*Q}XfhIcssu8}$(%FsIXH`c9DrS% z@g(nDs`F9A%g?G}iVdzB+e9%9y5BPI>8`Pnj@vmdCl#svjYMz;t($_Ym`=0R>*%a; zGShO)OANLL7$|jYM&r^qhTF1l;-9=(_(NXj2O;zcDv;4$&$PvNzb7Z+fDtI-=T$f| z7@l0Ey}tt+8~@7)7|m|`>k_TZ$c9#|t!Ef%nHb2F-YVqa>?V!q0wX}QgP*;Xtq39z zNZs5<@2qRvh@$+!hPTpk;{mZQ7M5^S%CZwHadv|$guCmm`*5*IO z{->UiF+yxpAo|%y9RK3j`{rbqTuB%Yd{9sk4kL6H3nB;M8s^{POkDVaW-cAe;6P07 z9$!42A~9-Gd~X#6BKms z{?k6vKb$JS4CTO@VcX7sT;nu6;EvHLjqdV-+A7g(QJ#e6 zEONu4&t<$+T+NKPJ?(;`B~7xGM3Gi{r}CbyJOV7}@-pp`+aNSrgZGIM_#7Z3KW zgBD+6>-T*rgs*egyVjt*FAi9qbw%WHj^0TaT&M;ZcG1f?-CMiBS%oR0z91z8pIbX5 zj#{Qh2}(Fa_%%Bp?#q{Q`~3@>Ot!{0aj*fji5a9Vdkv|x7HmfSf=wqAd-q~nLv7QR zRil_z3GhR`NIF!kuT|Z#wvUP#Ul)U4NU<@$H_JyK>xGyLJ|N69AO9UpHtpQgO<_8K$PjnLwh*PoSpP%V&u|mc#MtO=TJnxV2f5$x9 z0PsFLTkh9^d}@WZMT~adiMo0#Dm)if7EDy34JbIj8TpBd79tBjl`Px^?Qj$RH2) z_Xb5O)CCIIpcks#zAhRpY;v+$$T#YxfCyJ>{}DG(p1BVnIFP|%Ja5f=05p=g#9y$v zT$_^_fy8;)OHCXr&Gy5YMpY2>OKdcm(XGId5e$;LRtj{FsHlE?o*;V?U315vZ11Oo z^7M5=(r^XjBJZ5OMw)q58QDzmYH1x^Yj!~O)kBqqbCoq>^Ny`64(c%1PT_=HTq2d> zS3tm$L;*20${%g){u{l1Ly-21V3U$2rJp`Rd0{f?M_BFkpCAd5bI3Br3R7{~KGxSz|g=FptrxmP$BbwVnjpoc|) z1F2!HH5H*r)%Am&i<6l&M~;8`_&AvP!1h4tBMf(RM6ZG1kFqIRyeQw^#(jtqBMs8*@U*->``{rC4uTe=fA zqTfmSvf{HnKM-l)G~|X89fXkpFC5_vM7tjp#t6aITMW|xEd3zXfE52ab0Q_~yUAkI zx{vF&wZM|n^lnN38Fs=Z0M9bHt_tmt`?B!93!?J4)4Xyi-gruD{fZDHQ&4N)BYFU& zjO(!6c~+KoG`DFpRz}dAUE<}gQECX!Nkolc4i9(sj?_DYRI^mMIoOh|?R-#qYKh^O zADD^6_KC)6fzc?S4;R@#$k9OD!*P9<==%=cYj^A2JA^M@Kn}gQMU-Md2MeDQjVrH5 z)>`b5-i0=UeoqNogYg~A(yU~$6k9!i$OGz0O>nQ^f^ABh-SLpq+v^u}ns$5zvS#_! zIt%4Iga4kgCy`A+f&>(MRsohj`^rY|JP@Rj@%nk6QXWm_Ty7@Bud)|ow^of@7M+6H zLn+*Z0WL}d*W~vGl)}YKuh93GiuYrb^G0YL!e@gVgGl<1vD=NvM(LqI#71LGo*q$ABeG#H=5f@zlEdAP725(qI0vyVz zQIdbNENY7_<`NptrjAYW(m6T`L^h&MM6s2ty6di}QKP-obLaGhfZ|FdO z-jKD>&@Obz_hp?D16fFZb{b70P)d!dOVcq|*WW9u9t$dPc(7a@MlmRBfDmhy6r}K% z@56Xv%s2v-T2o`KDg9pf!s|&or@~ZHfUdMf2LX#>=+EAcF9(7JCD}_uSI+yz$4ZUl zqwc%O`Q_DtToAIrVxlPgoCecIxqV!-vJhBC+TxpSzYy|sL^wgJ#r}nL%sPd6nzHH1 zr2)8O0;pOcC=TDsAa$Wqo@`$wf>0s@vub&Ami%~`15#Ofs@H^cxBa<738-T3%JW}% z48WNF!jV}&fG=r0LC3=ys^b7QAN`bHA53!9UC>adgvtZDljaqQEENGGli3`izT(e| z(g6i3%Ez<izoW6i+H(EKzZQcdpdeIzRNXF)mwjtP zaNY;9STGe}fK@F>(3YcNJztoSlWsHUB_0g+F6$|J;@oMSz}Ylet}Ixxc*6AQ0ZZISkza0`IUC=)a^*vVD4?zOi7;+`^#zh(u+eaIF=MoxhEzWv$^M(4#Xkr%%VG-k^$r!O&CYf;m zz&{9e^+_T-_zrtNRRcHaSPH7VC)-oZZUfoCy_&iE66GmSMTT7@qXI(-AEw!3CETF{@oWB zLp)3o99|W|Mj4vtMN&~kF7taf-+V#H0E6;FaJB<2@dX2-%CH@UA)lDCo)|6yuZEvH zmkQ?~%ATlBc3du97vhJFKUbvS5VuIF2uFP-h1?MVc62OgSOfV@J4{%>%7!M}p*&<* z(|{rXmGwuZyNOm7)&&Le+S6oW!kkwENjK?&p$@1Zuf|yJ9if>DcN!%TM;(k9g18Z@ zUu@jGBuh_llah+?Ya`z6ag~zK9r0?UkG`=;Lnd}vy@XVQeV{zh)o~ESaH7fhUv*{G znlBb@XJFf>EHu`0Wg#5YKYW0aw($oaBjj*=w^YcbkH0cbP!Pi6Lj*x9Rvm7VtUMDC|9mb*e1%D?QNi3HabeID(s2c4@Y0T8coHXw zCH*(nfS>y9FOPz9Dv9g1cPpr~1D`cTl`(MLg|I`a#ayj;fMVhTRR;pGz`=riQw;h= zB|Y8|!5^TfbSSm*1KEE`I|$>9Jn%KjmnnPIGqWK$RA9bxv- zBIl~r7w~T@lPEsz`M&QZ$pp{=ES6hY}OxVhftwA&zB)zX+dGSdzC`cq#!npkX{Mz==GR zucSX1?eI@T3i!R4wc0JRlw*eNxW2wnpsUR{{ATxn4z=UV*#L{Za>~X%9D$x}JHz%z zYW8QU=XiJ-o0M#pdJwUYPUeIaXUG>a(fx7hV%6J*CN`BjrvVT~vnEV$d;|wAugs1W z7Q+QeaU*^Quvti~`4X*cZnH}yn^25LWx-=al4#9S>Yw*PB51Wcy3EQ|sHFNSs84?# um0h!n^tsUek|NE-@u=8e0+Uex4Y>+b9x&#WRrt^S3xJ5UaFw90-~R#Vy**_B literal 0 HcmV?d00001 diff --git a/FlatUI/icons/donotdisturb.png b/FlatUI/icons/donotdisturb.png new file mode 100644 index 0000000000000000000000000000000000000000..8e11924139aad0e674d411888854c576e39ea6eb GIT binary patch literal 1956 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 IMxIgs0XyzsGynhq literal 0 HcmV?d00001 diff --git a/FlatUI/icons/gsm.png b/FlatUI/icons/gsm.png new file mode 100644 index 0000000000000000000000000000000000000000..38e2e0a656318881f4f32a781fb917d4028aff86 GIT binary patch literal 2817 zcmV+c3;y(pP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER000J3$g6#nj;l}_6!W!efY60xikRrx~jAths3`s01SKvd-wtY>SI*l|(Us?<&gp3wzRJAX9R4lk4**566KST4#3#vs=Z7|vb8hKi!>;Gi&O1Y!Gt z@SDV?*juqk27u^r9OE)@IUG(b3}}GF`(WL>4EEkcB|>O;_0)6hkqjK9p{sRwWBPk0 zTN2w@A00{9#L?72giTFIrg{bH8*zmlHj+kAdPaG7N&&dKVN`7f6TFHB{(yu=(Hr3K2cYx#5Wx=oPDVt* zP8Xhb#9+j$LFzulf+}iGx7LsD!~v*O^}L@=7J52-qC(}1kH=rCP5KcL2taGlqf5De zFn;C}#aS?x9X1lDIT9y@o@(BP#l3sw)I$3F5WWBe$fu`lTrCqx|0va}dD&E)QEjmU zFpfEf5SJ3B$6-nr4L2~aB3tOVETa-ptns0<{V!y`yIs!atT{NJ2CDWvUZzPjQhAJL zFCm9@Y+LskOuy7%hhIVeC=0&uEf9^YXUxVXJjon-=9-p(qgsJ0ZVzU!PLdPZDJ5H+ zkBy~d4KUR=;jQ}JQ-l4uWRnS9PAt{y;GRDLAUU^E_H&`r|-Ai?EAVv4wp4v9nD((;8t!RzE$qC#?R(&6)gI zhfK12vwth|Vq+2&|NdAI><2Mt7;Z3%+eF&0%}OF%)tm?#u&n~hd2DUmS} z`}R~~VV4_ohpfkzFNbC4rsf^@)&mFF&Y~}q(OpN7V>V;YjT;D_K5if`w6|eRQ?dM@ zEG_uHzI)4?N?BB-d-h`1R;LGZj5?HOjKY4l1?!);4DI7aAxo>l4W|RI6gX|MY9Q}| zu_SFIULrR6GaCNfR-0ON0?AZS*|$rs|>zYYE1D<>Go(d z(ixMnRlWKtQGfTjkKcsnuQuTDkOaJb*q^*NrS42FJ5~%!-jSg>v-0wF>>d=0<>xkw zPb5j7Apa=uN_e)UL_hOX+A+5qDO59KSQw6YJfORnZfOIwE*BOOgPW$d`s57E7@c;kD+WcQwfX`+*?RlwJ5 z3n^TIP^&xzy0}%cG-jpz`8Zv5H8iX#TjT-r3MqNf^T7+lVPIR#Yw{HN{!pF;T_`-( z-?60AcVbFS9e#XpBo;*KVXvygF8UfI&^yu08PL5MqtT*qWIWc3J2<^H(Ru(m`=}^-?|V zXJ7jGK9g4{$M#M@{oN-azr+n4cvvw&6B!2ElF67-orlj;%B5EgRCm_>o`>S)lQ1RH zi2WJ^1bx6K_r3^J|BwT-_ETv}Es&FVAbJl$*iyNfS8shWpy8OcrP9>frvCmLa&1Ic To5!wQ00000NkvXXu0mjfx*uWD literal 0 HcmV?d00001 diff --git a/FlatUI/icons/gsm@2x.png b/FlatUI/icons/gsm@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9ecff7166061aa49fdf563647d49121be812e491 GIT binary patch literal 3729 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 BsI~wA literal 0 HcmV?d00001 diff --git a/FlatUI/icons/hotspot.png b/FlatUI/icons/hotspot.png new file mode 100644 index 0000000000000000000000000000000000000000..e826dca3cdc6f8b6c477f745f7325e89e10932fd GIT binary patch literal 2328 zcmV+z3Fr2SP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER000E9Nkl>Ji108?dYEK_>k;Aqe&ZhQ zGBR#OC&;kxG@fc`hQE!#+~E`wCA7vMb=$Zp5fR}^}#t<2hRy&GAw zj8IwWj%spE8skD>Xf^1ucXu2tD^_4|(tGFZc0y0%J1FYv$9iT1JUvl4G=zE@gWH`m zC74Eo*~3;mOMI^PM%n(ANSl^aoY3*i-AbE$GKh3$YL6-Re@wa`*uGY#wcW_OfQ z;N9Y!qDec1dE+v|R0^E?F4poRknK`{4;hmhiz&3~5~A8W;V<*r36pq@jiESR@>lq& z_<-8e!!|4}uEnC96jay|uD{O4Z?1=qJitaq&{DNz^XODq!71pAb7*IICC+#DqJ(*) zNTIv+7*N#NiBLXgkbFn;rV~^+1=RypIOuCp@L{I-cA7V3i z2x-k8iu6mTn||x5EB6Qmw;wTU0^Xn+Z6?v&_bA&@Q|FZ?FGlxFJ@&{7C|kPlL3>`J zx~G&vdVBF2zlNL93-HPh8*zSKEsgTviPMP}ggDvSy@;&-69;S(y!ATlS0=KKpu~OF zkN|Aw?KR%rg^i~!+OOHA509RMCgUIuTCLFi@&!vs-a>2o22k!P;aEi#OMWSdo@{Hv ztK+;!g?UJjv_3EnS&_iWG(H;q{K*2mXfmN!_**Th>V=m}e;WrPgAI75E+5s-8VbPk z5g0NLz*KS)iz0}|`qJS?Uc8utXp1;YW7jt!UNYbKo7xhy zg3%o}2WNsztZ`cbamh^Db3YyMQkEmcW`q2g5&aV$M={-vd50;;FN3c7rjs>(7sa~6 z+-;2~XA$|7qBWC^3$CvEGWiOuQ#6zNnw;e&u?~M77m@_83;*D&yxr3Wv&<08TW4CE_+&|F z2sEJZ`10aCv*S#|j)40j6ku^xA0MWf-<-k1);8#Gb%rC4b5t-8f46qMzYG^rm#`jQ yHWZjDo|yxPUQ^ z@IR9Zr24>!d?5g{LE2a`&=_l&9Uh6X!C2d4EMZtQ28Tl9P#ByQ21`KW2^bsL*9R_- zCS*ntd`Wx0#*$l(a25y(2q;v1d^|E9hvW;RQ5ZZPk3wTnSge)Y!%B3J2hzn>Jdx=N z0|^i@glqxG=JQ|*MtUSa4s?XeGySs!uHYLjPxQ4-@`jKaimiJzblvf z&07Te0)OTEKZ!-Og8~5M3yAn}LWX>BQKpJe0s>J8&_TYC#^-ZZy6D5=gM1N-FMtt= zFa(v(VDl9A_AdY`l|bQ%Kst{BP)Lq&IR%oFgwipZm@7%Yjjf+g`8aa@20u3(veVeMDNDzv~A$Rm>gA^S&wxkt$7!oJi@V6UEw&8mD~ zvCP$Tv0W95k|%>wO!jY+UOAG>N3s2;TegOrvGRrl*GYV%ZAUh421 z@OV?P^d5<1=rjk%+<8+-Y&N{L0i~pG_H;&ikTv2s-~a2O*E5f6=`$aHM7B6gCH0F+ zrsf?E*+?Xkz<#0xaH1t&-0fes!$+@LgQkj{D9>3;9dCIsHkkQp?RuG7kG74I=BHM} zosTib%^J9(5n2CwmyL9k%v{#{tYaN5F+=Q`7xO%*w{RB~8=rBQ35T2|7DPWGJr)XrGzsQlVb9AeG& zZk_s)2oVbVufie3XZKuV6}IqZi%x1%~IeZ8N0f? zh17D$V(W{FpZ59mNP>Uv?C8FqEo50Z`3G%=E|jJYJe{Zychh(%dwli0-m{D+?co=6 zM!LpwlJ;0M?NYwqdSqGGbTHtWLH81lu~o{ZW~g&sxK!nNs1B8HL_A103Rf*y+EQ&& z)QGQ59XX$W^HjL@z<@~RGX-q|pVu*Sl138Ot7n|{{0}1X!$DuOpf;+*@0RU$(eR^9 z`$2X8#*a6f(H#k9f=GRnrE}wVt?(UVCMCCzKDa#qg)=u9)TZ}LTN*>5H(xh|(rS|Z zv+KChlV;$HQ?HGqtCmsk{$0^HK z+l~F%V}%RxD!qOh{gnhJ)LdF22#~7xY#MAIaDLfQ6jd{Er)<|hMQh_)n}<(|FV2^j zO>sG>1pU0=hqB2u(~BnHMCmqCS#fE6CTymCs-RaTIyPa_d$HVJ&wZPuf1pGkp%HLo zV&ma0y6Y-+ZUHk@XLE|}d)?mtgxwL)TNymU==F}t(({|YJTvXTImhfxY|oL!CQXk# zscmk$X|buyM1z8E_I8*oBwM|IcRANJGD0iZ;^buCY1a19qrRW_J9>CD6}V9%hZyPh zMpumPwr}NAWVvm-AL}`$)+e^ROSVFIq1r0b@`k}%nZ#Nr z2!sC%;%Xw){F%15WV-(rd;d94a#-WBv*i5Vs(i6o-0*vD_db;qvu!))8AZIgE5DPJ zQfJQHQ=Y$0u1=n52<8&q{_WO<6B=Yad|tJEV~IvPbo4Mv0``aGju-6Tn)VCJaRD)} zE7-(rgof&5_2+E4kUFaztaiFf^Zbi{)N8k5>ei~KTbOS+((vnn{+>VJGW>9ANQHLz zaHdCBCr1Ne8PaT?wMI9TbR#BDx7TA9X6z@s`}Y5uKN+ywQ05o zw#hBXXFNmfz-#yGs=WNU>=YxN@JtISok{2nHM|>Bvnw`@<8ES{sr$N5J1c6j+GXiu zmbh}!j*hiJuzGi&HAM^}=HS}n`qxelzZfl@i^SG1Zj1kR-Cb1nPhP%1n*~vU YSX#v3C$|TCDgII@WG_;kYedR_0f67jU;qFB literal 0 HcmV?d00001 diff --git a/FlatUI/icons/i_icon.png b/FlatUI/icons/i_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a07027d9a4d1b95b2cecea52c9cfc498c4f936c GIT binary patch literal 2186 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 QU-v^prv_0@lVj8V0xDhF&Hw-a literal 0 HcmV?d00001 diff --git a/FlatUI/icons/js.png b/FlatUI/icons/js.png new file mode 100644 index 0000000000000000000000000000000000000000..83b400869c797468c9149a550dd52ecaf6abdffb GIT binary patch literal 30130 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 literal 0 HcmV?d00001 diff --git a/FlatUI/icons/notification.png b/FlatUI/icons/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..753662942c5cd0cd2e932b312d8a5cc8772c7396 GIT binary patch literal 1958 zcmV;X2U+-uP)4Tx05}naRo`#hR1`jmZ&IWdKOk5~hl<6oRa0BJ8yc;~21%2p?MfD<>DVeH z9(p*dx19w`~g7O0}n_%Aq@s%d)fBDv`JHkDym6Hd+5XuAtvnwRpGmK zVkc9?T=n|PIo~X-eVh__(Z?q}P9Z-Dj?gOW6|D%o20XmjW-qs4UjrD(li^iv8@eK9k+ZFm zVRFymFOPAzG5-%Pn|1W;U4vNroTa&AxDScmEA~{ri9gr1^c?U@uwSpaNnw8l_>cP1 zd;)kMQS_;jeRSUEM_*s96y65j1$)tOrwdK{YIQMt92l|D^(E_=$Rjw{b!QT@q!)ni zR`|5oW9X5n$Wv+HVc@|^eX5yXnsHX8PF3UX~a6)MwxDE0HaPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiS zBTvvVG+XTxAO{m@bvM#Jr)z6J><&E22D|vq?Y?Vkbo_DijopiF$2PET#mZ8eu=y$(ArYkv7@Ex`GL?QCc!_*KFrd&;n1r7 zqW-CFs9&fT)ZaU5gc&=gBz-DaCw(vdOp0__x+47~U6sC(E(JNe@4cTT*n6*E zVH4eoU1-&7pEV~_PRe`a7v+@vy!^5}8?Y3)UmlaER0009$Nkl|KB(NH*@A6LMg>^HpOC+8DBzkxebPq@5q>%f^OAn z^hIh=Ur|rmlRBwW;3A8aVSY7Ynm(dtauR#oUZTlm;3LCP-kj2WaZ`G_eX$6+b%iiZ zOe5`29=^KCIbcl$&h=eGsmyn1epYH3_D))*$pl0<6Vp776J;%klw8B-geYpNXhLfb z;wHwScFi&m;)H#w77g74*oD7LUD%gSJ2u>EM*IxIyt{~MEuyz=@37zPMi7{X6c!-> z!?D%@VY~x!uVs^-o(#k~1%(e`$y0;3?X(+#&I3W3W2@TKd~ z(>o~X;rXbLVJs~fUwjDfv?JHfV`oAvvfrF1jcfzlP$!CvRgf+Iy(v<{V4Was$K*hcf@1V6?Q?XclnM}f&M00r8F*cWF=Yw}j?(}m!^N{O#5)~XIhFZ%~?6y`u*atOn} z@t7~fM}35LtMjNywCB@zCPA5elj=fG)6n70O7#`C=e%(|WWvYAAQZth`7|r4kQRxy z*n1=mRK7s{Tuu~NEI8%wzhs0=FdHMAUN%C1BGF#53`GL}{y(9=A`7y6|gWJeFx zs$t?OHfOxA%)Uy9XUscbu6H5sz^E~k)zB>(4UGQ&K9{K4F04FTjYgXdDdFL$(5mpP ze*k7y(WMKp7aCg%SxhW+EH-t-f|Efj@Txc!`lEXM^m3bdO)R*Fh^Du=Znfc{i-%64 zo_fdoyvvy-mt#yFgh$ysaG~6QQ6C3p_+%&!))69ae@LT^9oWDQ;2@qCM`rJZ%ZgTq s>8#xtO3fxi1}atiXCa&&cHtwx0GSY`pu*-3pa1{>07*qoM6N<$f@W`|RR910 literal 0 HcmV?d00001 diff --git a/FlatUI/icons/notification@2x.png b/FlatUI/icons/notification@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..33f148fbf5eaeaa47151d38e3bf3aea85e0ec0a4 GIT binary patch literal 1973 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 M07*qoM6N<$f(t*li2wiq literal 0 HcmV?d00001 diff --git a/FlatUI/icons/wifi@2x.png b/FlatUI/icons/wifi@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..49fa36778c3e4211258f6d17b56264eb18032e71 GIT binary patch literal 2147 zcmaJ?X;f2Z8V;)%MFB;{DqI62Adr zT@WhENEzvf;s!`XKoJqy4p3GBWs44?pjIcbV&}&&_ndpb@BPmEJn#0L@1FAZbk|1i zL?RFfZMp}|SFzeEUoB0=w<5*PP_Y=mt}NIO3W1|J5)k3cgMvYTF64xQz95Ge6WIpZ zBM@rFd?pKKF%FWskPyvL`k-Y(u>y@i*gML^9IgO_fnYF{FQTC2Hycm@pGQFj5E)p8 zm(X~w#8Wjcr1>9!4fbyf)x%=#*)Z5BJlY^DWXYu zA!J{g+vivci-HP+VKEtliH?p&M-$MHBou=qkw_RU9)rhQDLkyCF(Q~Fvl2;-R~cxa zlq=zjVLl`Rl#HBUC<>;a6q)`}f>8X0RwVu0CPl+AGL9I7Lt~XCtvWIo|KC+8{NgQz zeZfET{h!2AW{eob_<~X>O2SnPF2qZiexa#$^O@*SC16(QEtEJR$+WmJ}6SiU82zSMb(y52!whso#xDx4b0^T5Bde{ zX!+QU>~GVdS*mH+C8SM&NtNj$EG>)Fh!Z5mrz0)#raGgE`Nx`?H@70DAE+M0@9DnS zROS(6wh>?WOiP8yE1M8vbuzQZ_5rUK3Uc#vny+?tp{DHH82M7KqVJAVrdNtSUf;W` zWenW3MY9!Q0I2ceH)g8fofO8m+Zq=d#>BsSRY7wnQ^!>b*r~t;A@%HK50Z-RyfHqx zD_kXI{#)1VyU3qA(l5NYOr02f;QjUBQQOA+K$b;=HlMyB;eZ4 zN_q8Uzs{wf-`T4$hhJ9=j(&eh^mXLyQZtQKb)mQ^n4iKK2<5%695vHCrKRoC)xF`G zV0S;OPg`!fPs@5!zj}Yert&VetT1$UeMGJ5RbBm|qwz+qzz}h1@$bdtA+=vN2l_-9 zH^rj~*2PJT$Ghh;iKwbFZF%_2?B09x8+5e}J2P3KPX9PF*iizH8ui=D>*L$~bL=|) zBBbS&@7@_AA=$iYTz+~HvAp~KeL3gS4TEln4c>8?7sluv1)sDZh+BbW1tod5*qn7>}CzF;R$iQTA zUPln$>SH$5meOWwytM$eRK!fVQq$rk?R@czdt8r0#JGT6zH=_1sn>KJG5X!*`)$bi z?Z&z;cT4F{Aj3;R-~6UIGULBI1XQP_(fhP^Enjp?ZoQ)y$UN4o`^LqenjuFrA8ikE z@f&8p88a+6yJ4Ox{zjO7E-!4^Qul%vq(6`Hx2WHG*filqrEE`Z&r&In%bO^VT69`J z`@H>!TCKz@=O^0kdEV(+nvK(Xc~Y;SeJI5?)x7_PK}|TNR5tIeab{{uXlWN}aUcO1 zU=oRTzc!j#sPQ2$3X>Ob_I6};CXsw5nP86I79z`8QW<|O8*8tMd0Y|v)Y~!KL;s?K z_5Q7o-4;uZb!x}B?|C}2kiQ;R)1xuTE_k_xqVIijTpRIQXQg*%+*Oy8h#UGDUQNuv z>cz3l<5x7NGwNv#Rrkhz&CYro@l`EvUGD^~%g&>(O#EnH)BwiA;czTXT+ zT~B;FHIB(kpZe+g(!=KAHmsACPY=>@JfaD0F*<_VXgV-er!}8n7zt+E@s8^;AJQ8; zbS+2NNw*FV%MlLm*FVeko@0lc>L95thv}8{vk>3fQ`q{vhHj{79`_Iz>RNVr{n*XP z){l-R$#xd5ygEDN^n05uc4|eAQP!`HY4rvVhR-}RgP!huKSr2zxDuG#AbEL9qjV%= y=}4*QRd>M?uiNbeDSq|xSiMQ=cf9;3LJeVQvhhd1U9}m?-#*>dlUD5#l<*$|!FXB# literal 0 HcmV?d00001 diff --git a/PBFlatUI.podspec b/PBFlatUI.podspec index 3169df3..74c3973 100644 --- a/PBFlatUI.podspec +++ b/PBFlatUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'PBFlatUI' - s.version = '1.0.0' + s.version = '1.1.0' s.requires_arc = true s.author = { 'Piotr Bernad' => 'piotrbernadd@gmail.com' diff --git a/README.md b/README.md index d9bf005..846fda3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Easy to use User Interface elements which are really similar to design in iOS 7. To install FlatUI cocoapods need to be configured. To add to your project FlatUI edit podfile file and append the following line: -> pod 'PBFlatUI', '~> 1.0.0' +> pod 'PBFlatUI', '~> 1.1.0' ## Customization @@ -16,6 +16,8 @@ The main customization class is PBFlatSettings, where you can change colors, fon ## Examples -Drawing -Drawing -Drawing \ No newline at end of file +Drawing +Drawing +Drawing +Drawing +