Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Completed the CustomTabBar iOS project

  • Loading branch information...
commit 194d731ce87a91fdaa324618f87c5bad538a9730 1 parent 402ed6d
@biznickman authored
Showing with 1,590 additions and 4 deletions.
  1. +163 −3 CustomTabBar.xcodeproj/project.pbxproj
  2. +7 −0 CustomTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. BIN  CustomTabBar.xcodeproj/project.xcworkspace/xcuserdata/nickoneill.xcuserdatad/UserInterfaceState.xcuserstate
  4. +84 −0 CustomTabBar.xcodeproj/xcuserdata/nickoneill.xcuserdatad/xcschemes/CustomTabBar.xcscheme
  5. +22 −0 CustomTabBar.xcodeproj/xcuserdata/nickoneill.xcuserdatad/xcschemes/xcschememanagement.plist
  6. +13 −0 CustomTabBar/CreateHollerViewController.h
  7. +63 −0 CustomTabBar/CreateHollerViewController.m
  8. +162 −0 CustomTabBar/CreateHollerViewController.xib
  9. +14 −0 CustomTabBar/GroupsViewController.h
  10. +91 −0 CustomTabBar/GroupsViewController.m
  11. +162 −0 CustomTabBar/GroupsViewController.xib
  12. +10 −1 CustomTabBar/HBAppDelegate.m
  13. +19 −0 CustomTabBar/HBCustomTabBar.h
  14. +37 −0 CustomTabBar/HBCustomTabBar.m
  15. +349 −0 CustomTabBar/HBCustomTabBar.xib
  16. +29 −0 CustomTabBar/HBTabBarManager.h
  17. +98 −0 CustomTabBar/HBTabBarManager.m
  18. +16 −0 CustomTabBar/HollersViewController.h
  19. +89 −0 CustomTabBar/HollersViewController.m
  20. +162 −0 CustomTabBar/HollersViewController.xib
  21. BIN  CustomTabBar/tabBarAttending.png
  22. BIN  CustomTabBar/tabBarAttending@2x.png
  23. BIN  CustomTabBar/tabBarBackground.png
  24. BIN  CustomTabBar/tabBarBackground@2x.png
  25. BIN  CustomTabBar/tabBarGroup.png
  26. BIN  CustomTabBar/tabBarGroup@2x.png
  27. BIN  CustomTabBar/tabBarGroupSelected.png
  28. BIN  CustomTabBar/tabBarGroupSelected@2x.png
  29. BIN  CustomTabBar/tabBarGroups.png
  30. BIN  CustomTabBar/tabBarGroups@2x.png
  31. BIN  CustomTabBar/tabBarGroupsSelected.png
  32. BIN  CustomTabBar/tabBarGroupsSelected@2x.png
  33. BIN  CustomTabBar/tabBarHollerLogo.png
  34. BIN  CustomTabBar/tabBarHollerLogo@2x.png
  35. BIN  CustomTabBar/tabBarHollers.png
  36. BIN  CustomTabBar/tabBarHollers@2x.png
  37. BIN  CustomTabBar/tabBarHollersSelected.png
  38. BIN  CustomTabBar/tabBarHollersSelected@2x.png
  39. BIN  CustomTabBar/tabBarInvites.png
  40. BIN  CustomTabBar/tabBarInvites@2x.png
  41. BIN  CustomTabBar/tabBarSettings.png
  42. BIN  CustomTabBar/tabBarSettings@2x.png
View
166 CustomTabBar.xcodeproj/project.pbxproj
@@ -13,6 +13,37 @@
D0B98008145600A800D444B2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D0B98006145600A800D444B2 /* InfoPlist.strings */; };
D0B9800A145600A800D444B2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B98009145600A800D444B2 /* main.m */; };
D0B9800E145600A800D444B2 /* HBAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B9800D145600A800D444B2 /* HBAppDelegate.m */; };
+ D0B98017145600EC00D444B2 /* HBCustomTabBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B98015145600EC00D444B2 /* HBCustomTabBar.m */; };
+ D0B98018145600EC00D444B2 /* HBCustomTabBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D0B98016145600EC00D444B2 /* HBCustomTabBar.xib */; };
+ D0B9801B145600F900D444B2 /* HBTabBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B9801A145600F900D444B2 /* HBTabBarManager.m */; };
+ D0B980331456020100D444B2 /* tabBarGroup.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9801D1456020100D444B2 /* tabBarGroup.png */; };
+ D0B980341456020100D444B2 /* tabBarGroup@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9801E1456020100D444B2 /* tabBarGroup@2x.png */; };
+ D0B980351456020100D444B2 /* tabBarGroupSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9801F1456020100D444B2 /* tabBarGroupSelected.png */; };
+ D0B980361456020100D444B2 /* tabBarGroupSelected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980201456020100D444B2 /* tabBarGroupSelected@2x.png */; };
+ D0B980371456020100D444B2 /* tabBarGroups.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980211456020100D444B2 /* tabBarGroups.png */; };
+ D0B980381456020100D444B2 /* tabBarGroups@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980221456020100D444B2 /* tabBarGroups@2x.png */; };
+ D0B980391456020100D444B2 /* tabBarGroupsSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980231456020100D444B2 /* tabBarGroupsSelected.png */; };
+ D0B9803A1456020100D444B2 /* tabBarGroupsSelected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980241456020100D444B2 /* tabBarGroupsSelected@2x.png */; };
+ D0B9803B1456020100D444B2 /* tabBarHollers.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980251456020100D444B2 /* tabBarHollers.png */; };
+ D0B9803C1456020100D444B2 /* tabBarHollers@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980261456020100D444B2 /* tabBarHollers@2x.png */; };
+ D0B9803D1456020100D444B2 /* tabBarHollersSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980271456020100D444B2 /* tabBarHollersSelected.png */; };
+ D0B9803E1456020100D444B2 /* tabBarHollersSelected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980281456020100D444B2 /* tabBarHollersSelected@2x.png */; };
+ D0B9803F1456020100D444B2 /* tabBarHollerLogo.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980291456020100D444B2 /* tabBarHollerLogo.png */; };
+ D0B980401456020100D444B2 /* tabBarHollerLogo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802A1456020100D444B2 /* tabBarHollerLogo@2x.png */; };
+ D0B980411456020100D444B2 /* tabBarSettings.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802B1456020100D444B2 /* tabBarSettings.png */; };
+ D0B980421456020100D444B2 /* tabBarSettings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802C1456020100D444B2 /* tabBarSettings@2x.png */; };
+ D0B980431456020100D444B2 /* tabBarInvites.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802D1456020100D444B2 /* tabBarInvites.png */; };
+ D0B980441456020100D444B2 /* tabBarInvites@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802E1456020100D444B2 /* tabBarInvites@2x.png */; };
+ D0B980451456020100D444B2 /* tabBarAttending.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B9802F1456020100D444B2 /* tabBarAttending.png */; };
+ D0B980461456020100D444B2 /* tabBarAttending@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980301456020100D444B2 /* tabBarAttending@2x.png */; };
+ D0B980471456020100D444B2 /* tabBarBackground.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980311456020100D444B2 /* tabBarBackground.png */; };
+ D0B980481456020100D444B2 /* tabBarBackground@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0B980321456020100D444B2 /* tabBarBackground@2x.png */; };
+ D0B9804E1456035300D444B2 /* HollersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B9804C1456035300D444B2 /* HollersViewController.m */; };
+ D0B9804F1456035300D444B2 /* HollersViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D0B9804D1456035300D444B2 /* HollersViewController.xib */; };
+ D0B980531456037F00D444B2 /* CreateHollerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B980511456037F00D444B2 /* CreateHollerViewController.m */; };
+ D0B980541456037F00D444B2 /* CreateHollerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D0B980521456037F00D444B2 /* CreateHollerViewController.xib */; };
+ D0B98058145603A900D444B2 /* GroupsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0B98056145603A900D444B2 /* GroupsViewController.m */; };
+ D0B98059145603A900D444B2 /* GroupsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D0B98057145603A900D444B2 /* GroupsViewController.xib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -20,12 +51,48 @@
D0B97FFD145600A800D444B2 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
D0B97FFF145600A800D444B2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
D0B98001145600A800D444B2 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
- D0B98005145600A800D444B2 /* CustomTabBar-Info.plist */ = {isa = PBXFileReference; path = "CustomTabBar-Info.plist"; sourceTree = "<group>"; };
+ D0B98005145600A800D444B2 /* CustomTabBar-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CustomTabBar-Info.plist"; sourceTree = "<group>"; };
D0B98007145600A800D444B2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
D0B98009145600A800D444B2 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
- D0B9800B145600A800D444B2 /* CustomTabBar-Prefix.pch */ = {isa = PBXFileReference; path = "CustomTabBar-Prefix.pch"; sourceTree = "<group>"; };
- D0B9800C145600A800D444B2 /* HBAppDelegate.h */ = {isa = PBXFileReference; path = HBAppDelegate.h; sourceTree = "<group>"; };
+ D0B9800B145600A800D444B2 /* CustomTabBar-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CustomTabBar-Prefix.pch"; sourceTree = "<group>"; };
+ D0B9800C145600A800D444B2 /* HBAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HBAppDelegate.h; sourceTree = "<group>"; };
D0B9800D145600A800D444B2 /* HBAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HBAppDelegate.m; sourceTree = "<group>"; };
+ D0B98014145600EC00D444B2 /* HBCustomTabBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBCustomTabBar.h; sourceTree = "<group>"; };
+ D0B98015145600EC00D444B2 /* HBCustomTabBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBCustomTabBar.m; sourceTree = "<group>"; };
+ D0B98016145600EC00D444B2 /* HBCustomTabBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HBCustomTabBar.xib; sourceTree = "<group>"; };
+ D0B98019145600F900D444B2 /* HBTabBarManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBTabBarManager.h; sourceTree = "<group>"; };
+ D0B9801A145600F900D444B2 /* HBTabBarManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBTabBarManager.m; sourceTree = "<group>"; };
+ D0B9801D1456020100D444B2 /* tabBarGroup.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarGroup.png; sourceTree = "<group>"; };
+ D0B9801E1456020100D444B2 /* tabBarGroup@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarGroup@2x.png"; sourceTree = "<group>"; };
+ D0B9801F1456020100D444B2 /* tabBarGroupSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarGroupSelected.png; sourceTree = "<group>"; };
+ D0B980201456020100D444B2 /* tabBarGroupSelected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarGroupSelected@2x.png"; sourceTree = "<group>"; };
+ D0B980211456020100D444B2 /* tabBarGroups.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarGroups.png; sourceTree = "<group>"; };
+ D0B980221456020100D444B2 /* tabBarGroups@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarGroups@2x.png"; sourceTree = "<group>"; };
+ D0B980231456020100D444B2 /* tabBarGroupsSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarGroupsSelected.png; sourceTree = "<group>"; };
+ D0B980241456020100D444B2 /* tabBarGroupsSelected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarGroupsSelected@2x.png"; sourceTree = "<group>"; };
+ D0B980251456020100D444B2 /* tabBarHollers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarHollers.png; sourceTree = "<group>"; };
+ D0B980261456020100D444B2 /* tabBarHollers@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarHollers@2x.png"; sourceTree = "<group>"; };
+ D0B980271456020100D444B2 /* tabBarHollersSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarHollersSelected.png; sourceTree = "<group>"; };
+ D0B980281456020100D444B2 /* tabBarHollersSelected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarHollersSelected@2x.png"; sourceTree = "<group>"; };
+ D0B980291456020100D444B2 /* tabBarHollerLogo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarHollerLogo.png; sourceTree = "<group>"; };
+ D0B9802A1456020100D444B2 /* tabBarHollerLogo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarHollerLogo@2x.png"; sourceTree = "<group>"; };
+ D0B9802B1456020100D444B2 /* tabBarSettings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarSettings.png; sourceTree = "<group>"; };
+ D0B9802C1456020100D444B2 /* tabBarSettings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarSettings@2x.png"; sourceTree = "<group>"; };
+ D0B9802D1456020100D444B2 /* tabBarInvites.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarInvites.png; sourceTree = "<group>"; };
+ D0B9802E1456020100D444B2 /* tabBarInvites@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarInvites@2x.png"; sourceTree = "<group>"; };
+ D0B9802F1456020100D444B2 /* tabBarAttending.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarAttending.png; sourceTree = "<group>"; };
+ D0B980301456020100D444B2 /* tabBarAttending@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarAttending@2x.png"; sourceTree = "<group>"; };
+ D0B980311456020100D444B2 /* tabBarBackground.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabBarBackground.png; sourceTree = "<group>"; };
+ D0B980321456020100D444B2 /* tabBarBackground@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tabBarBackground@2x.png"; sourceTree = "<group>"; };
+ D0B9804B1456035300D444B2 /* HollersViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HollersViewController.h; sourceTree = "<group>"; };
+ D0B9804C1456035300D444B2 /* HollersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HollersViewController.m; sourceTree = "<group>"; };
+ D0B9804D1456035300D444B2 /* HollersViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HollersViewController.xib; sourceTree = "<group>"; };
+ D0B980501456037F00D444B2 /* CreateHollerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreateHollerViewController.h; sourceTree = "<group>"; };
+ D0B980511456037F00D444B2 /* CreateHollerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CreateHollerViewController.m; sourceTree = "<group>"; };
+ D0B980521456037F00D444B2 /* CreateHollerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CreateHollerViewController.xib; sourceTree = "<group>"; };
+ D0B98055145603A800D444B2 /* GroupsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupsViewController.h; sourceTree = "<group>"; };
+ D0B98056145603A900D444B2 /* GroupsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupsViewController.m; sourceTree = "<group>"; };
+ D0B98057145603A900D444B2 /* GroupsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GroupsViewController.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -72,6 +139,8 @@
D0B98003145600A800D444B2 /* CustomTabBar */ = {
isa = PBXGroup;
children = (
+ D0B9804A145602D000D444B2 /* Custom Tab Bar */,
+ D0B98049145602C700D444B2 /* View Controllers */,
D0B9800C145600A800D444B2 /* HBAppDelegate.h */,
D0B9800D145600A800D444B2 /* HBAppDelegate.m */,
D0B98004145600A800D444B2 /* Supporting Files */,
@@ -82,6 +151,7 @@
D0B98004145600A800D444B2 /* Supporting Files */ = {
isa = PBXGroup;
children = (
+ D0B9801C145601D300D444B2 /* Images */,
D0B98005145600A800D444B2 /* CustomTabBar-Info.plist */,
D0B98006145600A800D444B2 /* InfoPlist.strings */,
D0B98009145600A800D444B2 /* main.m */,
@@ -90,6 +160,63 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ D0B9801C145601D300D444B2 /* Images */ = {
+ isa = PBXGroup;
+ children = (
+ D0B9801D1456020100D444B2 /* tabBarGroup.png */,
+ D0B9801E1456020100D444B2 /* tabBarGroup@2x.png */,
+ D0B9801F1456020100D444B2 /* tabBarGroupSelected.png */,
+ D0B980201456020100D444B2 /* tabBarGroupSelected@2x.png */,
+ D0B980211456020100D444B2 /* tabBarGroups.png */,
+ D0B980221456020100D444B2 /* tabBarGroups@2x.png */,
+ D0B980231456020100D444B2 /* tabBarGroupsSelected.png */,
+ D0B980241456020100D444B2 /* tabBarGroupsSelected@2x.png */,
+ D0B980251456020100D444B2 /* tabBarHollers.png */,
+ D0B980261456020100D444B2 /* tabBarHollers@2x.png */,
+ D0B980271456020100D444B2 /* tabBarHollersSelected.png */,
+ D0B980281456020100D444B2 /* tabBarHollersSelected@2x.png */,
+ D0B980291456020100D444B2 /* tabBarHollerLogo.png */,
+ D0B9802A1456020100D444B2 /* tabBarHollerLogo@2x.png */,
+ D0B9802B1456020100D444B2 /* tabBarSettings.png */,
+ D0B9802C1456020100D444B2 /* tabBarSettings@2x.png */,
+ D0B9802D1456020100D444B2 /* tabBarInvites.png */,
+ D0B9802E1456020100D444B2 /* tabBarInvites@2x.png */,
+ D0B9802F1456020100D444B2 /* tabBarAttending.png */,
+ D0B980301456020100D444B2 /* tabBarAttending@2x.png */,
+ D0B980311456020100D444B2 /* tabBarBackground.png */,
+ D0B980321456020100D444B2 /* tabBarBackground@2x.png */,
+ );
+ name = Images;
+ sourceTree = "<group>";
+ };
+ D0B98049145602C700D444B2 /* View Controllers */ = {
+ isa = PBXGroup;
+ children = (
+ D0B9804B1456035300D444B2 /* HollersViewController.h */,
+ D0B9804C1456035300D444B2 /* HollersViewController.m */,
+ D0B9804D1456035300D444B2 /* HollersViewController.xib */,
+ D0B980501456037F00D444B2 /* CreateHollerViewController.h */,
+ D0B980511456037F00D444B2 /* CreateHollerViewController.m */,
+ D0B980521456037F00D444B2 /* CreateHollerViewController.xib */,
+ D0B98055145603A800D444B2 /* GroupsViewController.h */,
+ D0B98056145603A900D444B2 /* GroupsViewController.m */,
+ D0B98057145603A900D444B2 /* GroupsViewController.xib */,
+ );
+ name = "View Controllers";
+ sourceTree = "<group>";
+ };
+ D0B9804A145602D000D444B2 /* Custom Tab Bar */ = {
+ isa = PBXGroup;
+ children = (
+ D0B98019145600F900D444B2 /* HBTabBarManager.h */,
+ D0B9801A145600F900D444B2 /* HBTabBarManager.m */,
+ D0B98014145600EC00D444B2 /* HBCustomTabBar.h */,
+ D0B98015145600EC00D444B2 /* HBCustomTabBar.m */,
+ D0B98016145600EC00D444B2 /* HBCustomTabBar.xib */,
+ );
+ name = "Custom Tab Bar";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -141,6 +268,32 @@
buildActionMask = 2147483647;
files = (
D0B98008145600A800D444B2 /* InfoPlist.strings in Resources */,
+ D0B98018145600EC00D444B2 /* HBCustomTabBar.xib in Resources */,
+ D0B980331456020100D444B2 /* tabBarGroup.png in Resources */,
+ D0B980341456020100D444B2 /* tabBarGroup@2x.png in Resources */,
+ D0B980351456020100D444B2 /* tabBarGroupSelected.png in Resources */,
+ D0B980361456020100D444B2 /* tabBarGroupSelected@2x.png in Resources */,
+ D0B980371456020100D444B2 /* tabBarGroups.png in Resources */,
+ D0B980381456020100D444B2 /* tabBarGroups@2x.png in Resources */,
+ D0B980391456020100D444B2 /* tabBarGroupsSelected.png in Resources */,
+ D0B9803A1456020100D444B2 /* tabBarGroupsSelected@2x.png in Resources */,
+ D0B9803B1456020100D444B2 /* tabBarHollers.png in Resources */,
+ D0B9803C1456020100D444B2 /* tabBarHollers@2x.png in Resources */,
+ D0B9803D1456020100D444B2 /* tabBarHollersSelected.png in Resources */,
+ D0B9803E1456020100D444B2 /* tabBarHollersSelected@2x.png in Resources */,
+ D0B9803F1456020100D444B2 /* tabBarHollerLogo.png in Resources */,
+ D0B980401456020100D444B2 /* tabBarHollerLogo@2x.png in Resources */,
+ D0B980411456020100D444B2 /* tabBarSettings.png in Resources */,
+ D0B980421456020100D444B2 /* tabBarSettings@2x.png in Resources */,
+ D0B980431456020100D444B2 /* tabBarInvites.png in Resources */,
+ D0B980441456020100D444B2 /* tabBarInvites@2x.png in Resources */,
+ D0B980451456020100D444B2 /* tabBarAttending.png in Resources */,
+ D0B980461456020100D444B2 /* tabBarAttending@2x.png in Resources */,
+ D0B980471456020100D444B2 /* tabBarBackground.png in Resources */,
+ D0B980481456020100D444B2 /* tabBarBackground@2x.png in Resources */,
+ D0B9804F1456035300D444B2 /* HollersViewController.xib in Resources */,
+ D0B980541456037F00D444B2 /* CreateHollerViewController.xib in Resources */,
+ D0B98059145603A900D444B2 /* GroupsViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -153,6 +306,11 @@
files = (
D0B9800A145600A800D444B2 /* main.m in Sources */,
D0B9800E145600A800D444B2 /* HBAppDelegate.m in Sources */,
+ D0B98017145600EC00D444B2 /* HBCustomTabBar.m in Sources */,
+ D0B9801B145600F900D444B2 /* HBTabBarManager.m in Sources */,
+ D0B9804E1456035300D444B2 /* HollersViewController.m in Sources */,
+ D0B980531456037F00D444B2 /* CreateHollerViewController.m in Sources */,
+ D0B98058145603A900D444B2 /* GroupsViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -221,6 +379,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "CustomTabBar/CustomTabBar-Prefix.pch";
INFOPLIST_FILE = "CustomTabBar/CustomTabBar-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
@@ -232,6 +391,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "CustomTabBar/CustomTabBar-Prefix.pch";
INFOPLIST_FILE = "CustomTabBar/CustomTabBar-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 4.0;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
View
7 CustomTabBar.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:CustomTabBar.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN  CustomTabBar.xcodeproj/project.xcworkspace/xcuserdata/nickoneill.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
84 CustomTabBar.xcodeproj/xcuserdata/nickoneill.xcuserdatad/xcschemes/CustomTabBar.xcscheme
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "D0B97FF8145600A800D444B2"
+ BuildableName = "CustomTabBar.app"
+ BlueprintName = "CustomTabBar"
+ ReferencedContainer = "container:CustomTabBar.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "D0B97FF8145600A800D444B2"
+ BuildableName = "CustomTabBar.app"
+ BlueprintName = "CustomTabBar"
+ ReferencedContainer = "container:CustomTabBar.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "D0B97FF8145600A800D444B2"
+ BuildableName = "CustomTabBar.app"
+ BlueprintName = "CustomTabBar"
+ ReferencedContainer = "container:CustomTabBar.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "D0B97FF8145600A800D444B2"
+ BuildableName = "CustomTabBar.app"
+ BlueprintName = "CustomTabBar"
+ ReferencedContainer = "container:CustomTabBar.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
22 CustomTabBar.xcodeproj/xcuserdata/nickoneill.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>CustomTabBar.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>D0B97FF8145600A800D444B2</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
13 CustomTabBar/CreateHollerViewController.h
@@ -0,0 +1,13 @@
+//
+// CreateHollerViewController.h
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface CreateHollerViewController : UIViewController
+
+@end
View
63 CustomTabBar/CreateHollerViewController.m
@@ -0,0 +1,63 @@
+//
+// CreateHollerViewController.m
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "CreateHollerViewController.h"
+
+@implementation CreateHollerViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self) {
+ // Custom initialization
+
+ //
+ // Cancel button
+ //
+ UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain target:self action:@selector(cancel:)];
+ [[self navigationItem] setLeftBarButtonItem:cancelButton];
+ [cancelButton release];
+ }
+ return self;
+}
+
+- (IBAction)cancel:(id)sender
+{
+ [self dismissModalViewControllerAnimated:YES];
+}
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+#pragma mark - View lifecycle
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view from its nib.
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+@end
View
162 CustomTabBar/CreateHollerViewController.xib
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1280</int>
+ <string key="IBDocument.SystemVersion">11C74</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1938</string>
+ <string key="IBDocument.AppKitVersion">1138.23</string>
+ <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">933</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>IBProxyObject</string>
+ <string>IBUIView</string>
+ <string>IBUILabel</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="IBUILabel" id="622979723">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{47, 219}, {226, 21}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:328</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Create Holler View Controoler</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
+ <int key="type">1</int>
+ <double key="pointSize">17</double>
+ </object>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="622979723"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="622979723"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="622979723"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.CustomClassName">CreateHollerViewController</string>
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="-2.CustomClassName">UIResponder</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">4</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">CreateHollerViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/CreateHollerViewController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">933</string>
+ </data>
+</archive>
View
14 CustomTabBar/GroupsViewController.h
@@ -0,0 +1,14 @@
+//
+// GroupsViewController.h
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "HBTabBarManager.h"
+
+@interface GroupsViewController : UIViewController <HBTabBarDelegate>
+@property (nonatomic, retain) HBTabBarManager *tabBar;
+@end
View
91 CustomTabBar/GroupsViewController.m
@@ -0,0 +1,91 @@
+//
+// GroupsViewController.m
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "GroupsViewController.h"
+#import "HollersViewController.h"
+#import "CreateHollerViewController.h"
+
+@implementation GroupsViewController
+@synthesize tabBar;
+
+#pragma mark - Tab bar
+- (void)tabBarClicked:(NSUInteger)buttonIndex
+{
+ if( buttonIndex == 0 )
+ {
+ //This is the hollers tab already so don't do anything
+ HollersViewController *hvc = [[HollersViewController alloc]init];
+ [[self navigationController] pushViewController:hvc animated:NO];
+ [hvc release];
+
+ //Remove the view controller this is coming from, from the navigation controller stack
+ NSMutableArray *allViewControllers = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
+ [allViewControllers removeObjectIdenticalTo:self];
+ [[self navigationController] setViewControllers:allViewControllers animated:NO];
+ [allViewControllers release];
+ }
+ if( buttonIndex == 1 )
+ {
+ //Display the create holler tab
+ CreateHollerViewController *createHoller = [[CreateHollerViewController alloc] initWithNibName:@"CreateHollerViewController" bundle:nil];
+ //[createHoller setDelegate:self];
+ //[createHoller setMainFeed:(HollersViewController *)vc];
+ UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:createHoller];
+ [createHoller release];
+ [navController setModalPresentationStyle:UIModalPresentationFormSheet];
+ [navController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
+ [self presentModalViewController:navController animated:YES];
+ [navController release];
+ }
+ if( buttonIndex == 2 )
+ {
+ //We're on this tab already
+ }
+}
+
+#pragma mark - View lifecycle
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self) {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+#pragma mark - View lifecycle
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view from its nib.
+ tabBar = [[HBTabBarManager alloc]initWithViewController:self topView:self.view delegate:self selectedIndex:2];
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+@end
View
162 CustomTabBar/GroupsViewController.xib
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1280</int>
+ <string key="IBDocument.SystemVersion">11C74</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1938</string>
+ <string key="IBDocument.AppKitVersion">1138.23</string>
+ <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">933</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>IBProxyObject</string>
+ <string>IBUIView</string>
+ <string>IBUILabel</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="IBUILabel" id="247959207">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{72, 219}, {177, 21}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:328</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">Groups View Contorller</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
+ <int key="type">1</int>
+ <double key="pointSize">17</double>
+ </object>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="247959207"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="247959207"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="247959207"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.CustomClassName">GroupsViewController</string>
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="-2.CustomClassName">UIResponder</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">4</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">GroupsViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/GroupsViewController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">933</string>
+ </data>
+</archive>
View
11 CustomTabBar/HBAppDelegate.m
@@ -7,6 +7,7 @@
//
#import "HBAppDelegate.h"
+#import "HollersViewController.h"
@implementation HBAppDelegate
@@ -18,11 +19,19 @@ - (void)dealloc
[super dealloc];
}
+#pragma mark - Application lifecycle methods
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
- self.window.backgroundColor = [UIColor whiteColor];
+
+ HollersViewController *hvc = [[HollersViewController alloc]init];
+ UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:hvc];
+ [hvc release];
+ [[self window] setRootViewController:navController];
+ [navController release];
+
[self.window makeKeyAndVisible];
return YES;
}
View
19 CustomTabBar/HBCustomTabBar.h
@@ -0,0 +1,19 @@
+//
+// HBCustomTabBar.h
+// Holler
+//
+// Created by Nick ONeill on 8/17/11.
+// Copyright 2011 Holler Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+
+@interface HBCustomTabBar : UIView {
+
+ UIButton *hollersButton;
+}
+@property (nonatomic, retain) IBOutlet UIButton *groupsButton;
+@property (nonatomic, retain) IBOutlet UIButton *hollerButton;
+@property (nonatomic, retain) IBOutlet UIButton *hollersButton;
+@end
View
37 CustomTabBar/HBCustomTabBar.m
@@ -0,0 +1,37 @@
+//
+// HollerCustomTabBar.m
+// Holler
+//
+// Created by Nick ONeill on 8/17/11.
+// Copyright 2011 Webpreneur LLC. All rights reserved.
+//
+
+#import "HBCustomTabBar.h"
+
+
+@implementation HBCustomTabBar
+@synthesize groupsButton;
+@synthesize hollerButton;
+@synthesize hollersButton;
+
+- (id)init
+{
+ self = [super init];
+ if( self )
+ {
+ self.backgroundColor = [UIColor clearColor];
+ self.frame = CGRectMake(0, 360, 320, 59);
+ self.opaque = NO;
+ }
+ return self;
+}
+
+- (void)dealloc
+{
+ [groupsButton release];
+ [hollerButton release];
+ [hollersButton release];
+ [super dealloc];
+}
+
+@end
View
349 CustomTabBar/HBCustomTabBar.xib
@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1280</int>
+ <string key="IBDocument.SystemVersion">11C74</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1938</string>
+ <string key="IBDocument.AppKitVersion">1138.23</string>
+ <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">933</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBUIButton</string>
+ <string>IBUIImageView</string>
+ <string>IBUIView</string>
+ <string>IBProxyObject</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="628280908">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIImageView" id="630016823">
+ <reference key="NSNextResponder" ref="628280908"/>
+ <int key="NSvFlags">274</int>
+ <string key="NSFrameSize">{320, 59}</string>
+ <reference key="NSSuperview" ref="628280908"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="946306462"/>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSCustomResource" key="IBUIImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">tabBarBackground.png</string>
+ </object>
+ </object>
+ <object class="IBUIButton" id="669406167">
+ <reference key="NSNextResponder" ref="628280908"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{126, 11}, {68, 38}}</string>
+ <reference key="NSSuperview" ref="628280908"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="925458827"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <object class="NSColor" key="IBUIHighlightedTitleColor" id="35615673">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleShadowColor" id="55784429">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ <object class="NSCustomResource" key="IBUINormalImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">tabBarHollerLogo.png</string>
+ </object>
+ <object class="IBUIFontDescription" key="IBUIFontDescription" id="176181620">
+ <string key="name">Helvetica-Bold</string>
+ <string key="family">Helvetica</string>
+ <int key="traits">2</int>
+ <double key="pointSize">15</double>
+ </object>
+ <object class="NSFont" key="IBUIFont" id="983173802">
+ <string key="NSName">Helvetica-Bold</string>
+ <double key="NSSize">15</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ <object class="IBUIButton" id="946306462">
+ <reference key="NSNextResponder" ref="628280908"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{2, 13}, {106, 45}}</string>
+ <reference key="NSSuperview" ref="628280908"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="669406167"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <reference key="IBUIHighlightedTitleColor" ref="35615673"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="55784429"/>
+ <reference key="IBUIFontDescription" ref="176181620"/>
+ <reference key="IBUIFont" ref="983173802"/>
+ </object>
+ <object class="IBUIButton" id="925458827">
+ <reference key="NSNextResponder" ref="628280908"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{212, 13}, {106, 45}}</string>
+ <reference key="NSSuperview" ref="628280908"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <reference key="IBUIHighlightedTitleColor" ref="35615673"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="55784429"/>
+ <reference key="IBUIFontDescription" ref="176181620"/>
+ <reference key="IBUIFont" ref="983173802"/>
+ </object>
+ </object>
+ <string key="NSFrameSize">{320, 59}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="630016823"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">2</int>
+ <bytes key="NSRGB">MC4yMTE3NjQ3MjMxIDAuMjExNzY0NzIzMSAwLjIxMTc2NDcyMzEgMAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">groupsButton</string>
+ <reference key="source" ref="628280908"/>
+ <reference key="destination" ref="925458827"/>
+ </object>
+ <int key="connectionID">13</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">hollerButton</string>
+ <reference key="source" ref="628280908"/>
+ <reference key="destination" ref="669406167"/>
+ </object>
+ <int key="connectionID">15</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">hollersButton</string>
+ <reference key="source" ref="628280908"/>
+ <reference key="destination" ref="946306462"/>
+ </object>
+ <int key="connectionID">16</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <object class="NSArray" key="object" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="628280908"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="630016823"/>
+ <reference ref="669406167"/>
+ <reference ref="946306462"/>
+ <reference ref="925458827"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="630016823"/>
+ <reference key="parent" ref="628280908"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">5</int>
+ <reference key="object" ref="669406167"/>
+ <reference key="parent" ref="628280908"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">7</int>
+ <reference key="object" ref="946306462"/>
+ <reference key="parent" ref="628280908"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">8</int>
+ <reference key="object" ref="925458827"/>
+ <reference key="parent" ref="628280908"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.IBPluginDependency</string>
+ <string>-2.CustomClassName</string>
+ <string>-2.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ <string>4.IBPluginDependency</string>
+ <string>5.IBPluginDependency</string>
+ <string>7.IBPluginDependency</string>
+ <string>8.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>HBCustomTabBar</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">16</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">HBCustomTabBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>groupsButton</string>
+ <string>hollerButton</string>
+ <string>hollersButton</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIButton</string>
+ <string>UIButton</string>
+ <string>UIButton</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>groupsButton</string>
+ <string>hollerButton</string>
+ <string>hollersButton</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">groupsButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">hollerButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">hollersButton</string>
+ <string key="candidateClassName">UIButton</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/HBCustomTabBar.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>tabBarBackground.png</string>
+ <string>tabBarHollerLogo.png</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>{320, 59}</string>
+ <string>{68, 38}</string>
+ </object>
+ </object>
+ <string key="IBCocoaTouchPluginVersion">933</string>
+ </data>
+</archive>
View
29 CustomTabBar/HBTabBarManager.h
@@ -0,0 +1,29 @@
+//
+// TabBarManager.h
+// Holler
+//
+// Created by Nick ONeill on 8/17/11.
+// Copyright 2011 Webpreneur LLC. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class HBCustomTabBar;
+
+@protocol HBTabBarDelegate
+- (void)tabBarClicked:(NSUInteger)buttonIndex;
+@end
+
+@interface HBTabBarManager : NSObject {
+ NSObject <HBTabBarDelegate> *delegate;
+}
+@property (nonatomic, retain) HBCustomTabBar *tabBar;
+@property (nonatomic, retain) UIView *topView;
+
+- (id)initWithViewController:(UIViewController *)theVc topView:(UIView *)top delegate:(NSObject <HBTabBarDelegate>*)theDelegate selectedIndex:(NSInteger)index;
+- (void)configureTabBar:(UIViewController *)vc selectedIndex:(NSInteger)index;
+//All methods for loading up the proper view controllers
+- (void)loadActivities:(id)selector;
+- (void)loadGroups:(id)selector;
+- (void)loadCreateHoller:(id)selector;
+@end
View
98 CustomTabBar/HBTabBarManager.m
@@ -0,0 +1,98 @@
+//
+// TabBarManager.m
+// Holler
+//
+// Created by Nick ONeill on 8/17/11.
+// Copyright 2011 Holler Inc. All rights reserved.
+//
+
+#import "HBTabBarManager.h"
+#import "HBCustomTabBar.h"
+
+@implementation HBTabBarManager
+@synthesize tabBar, topView;
+
+- (id)initWithViewController:(UIViewController *)theVc topView:(UIView *)top delegate:(NSObject <HBTabBarDelegate>*)theDelegate selectedIndex:(NSInteger)index
+{
+ self = [super init];
+ if( self )
+ {
+ delegate = theDelegate;
+ self.topView = top;
+ self.tabBar = [[[HBCustomTabBar alloc]init]autorelease];
+
+ [self configureTabBar:theVc selectedIndex:index];
+ }
+ return self;
+}
+
+- (void)configureTabBar:(UIViewController *)vc selectedIndex:(NSInteger)index
+{
+ NSArray *topLevelObjects = [[NSBundle mainBundle]loadNibNamed:@"HBCustomTabBar" owner:self options:nil];
+ for( id currentObject in topLevelObjects )
+ {
+ if([currentObject isKindOfClass:[HBCustomTabBar class]]){
+ HBCustomTabBar *bar = (HBCustomTabBar *)currentObject;//[topLevelObjects objectAtIndex:0];
+ [tabBar release];
+ [bar retain];
+ tabBar = bar;
+ tabBar.frame = CGRectMake(0, 357, 320, 59);
+
+ [vc.view insertSubview:tabBar aboveSubview:topView];
+ break;
+ }
+ }
+ if( index == 0 )
+ {
+ [tabBar.hollersButton.imageView setImage:[UIImage imageNamed:@"tabBarHollersSelected.png"]];
+ [tabBar.hollersButton setBackgroundImage:[UIImage imageNamed:@"tabBarHollersSelected.png"] forState:UIControlStateNormal];
+ }
+ else
+ {
+ [tabBar.hollersButton.imageView setImage:[UIImage imageNamed:@"tabBarHollers.png"]];
+ [tabBar.hollersButton setBackgroundImage:[UIImage imageNamed:@"tabBarHollers.png"] forState:UIControlStateNormal];
+ }
+ if( index == 2 )
+ {
+ [tabBar.groupsButton.imageView setImage:[UIImage imageNamed:@"tabBarGroupSelected.png"]];
+ [tabBar.groupsButton setBackgroundImage:[UIImage imageNamed:@"tabBarGroupSelected.png"] forState:UIControlStateNormal];
+ }
+ else
+ {
+ [tabBar.groupsButton.imageView setImage:[UIImage imageNamed:@"tabBarGroup.png"]];
+ [tabBar.groupsButton setBackgroundImage:[UIImage imageNamed:@"tabBarGroup.png"] forState:UIControlStateNormal];
+ }
+ //Configure all the buttons
+ [tabBar.hollersButton addTarget:self action:@selector(loadActivities:) forControlEvents:UIControlEventTouchUpInside];
+ [tabBar.groupsButton addTarget:self action:@selector(loadGroups:) forControlEvents:UIControlEventTouchUpInside];
+ [tabBar.hollerButton addTarget:self action:@selector(loadCreateHoller:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+#pragma mark - View Controller loading methods
+
+- (void)loadActivities:(id)selector
+{
+ if( [delegate respondsToSelector:@selector(tabBarClicked:)] )
+ {
+ [delegate tabBarClicked:0];
+ }
+}
+- (void)loadGroups:(id)selector
+{
+ if( [delegate respondsToSelector:@selector(tabBarClicked:)] )
+ [delegate tabBarClicked:2];
+}
+- (void)loadCreateHoller:(id)selector
+{
+ if( [delegate respondsToSelector:@selector(tabBarClicked:)] )
+ [delegate tabBarClicked:1];
+}
+
+- (void)dealloc
+{
+ [topView release];
+ [tabBar release];
+ [super dealloc];
+}
+
+@end
View
16 CustomTabBar/HollersViewController.h
@@ -0,0 +1,16 @@
+//
+// HollersViewController.h
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "HBTabBarManager.h"
+
+@interface HollersViewController : UIViewController <HBTabBarDelegate>
+
+@property (nonatomic, retain) HBTabBarManager *tabBar;
+
+@end
View
89 CustomTabBar/HollersViewController.m
@@ -0,0 +1,89 @@
+//
+// HollersViewController.m
+// CustomTabBar
+//
+// Created by Nick ONeill on 10/24/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "HollersViewController.h"
+#import "CreateHollerViewController.h"
+#import "GroupsViewController.h"
+
+@implementation HollersViewController
+@synthesize tabBar;
+#pragma mark - Demo custom tab bar
+- (void)tabBarClicked:(NSUInteger)buttonIndex
+{
+ if( buttonIndex == 0 )
+ {
+ //This is the hollers tab already so don't do anything
+ }
+ if( buttonIndex == 1 )
+ {
+ //Display the create holler tab
+ CreateHollerViewController *createHoller = [[CreateHollerViewController alloc] initWithNibName:@"CreateHollerViewController" bundle:nil];
+ //[createHoller setDelegate:self];
+ //[createHoller setMainFeed:(HollersViewController *)vc];
+ UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:createHoller];
+ [createHoller release];
+ [navController setModalPresentationStyle:UIModalPresentationFormSheet];
+ [navController setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
+ [self presentModalViewController:navController animated:YES];
+ [navController release];
+ }
+ if( buttonIndex == 2 )
+ {
+ //Switch to the groups tab
+ GroupsViewController *gvc = [[GroupsViewController alloc]init];
+ [[self navigationController] pushViewController:gvc animated:NO];
+ [gvc release];
+
+ //Remove the view controller this is coming from, from the navigation controller stack
+ NSMutableArray *allViewControllers = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
+ [allViewControllers removeObjectIdenticalTo:self];
+ [[self navigationController] setViewControllers:allViewControllers animated:NO];
+ [allViewControllers release];
+ }
+}
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self) {
+ // Custom initialization
+ }
+ return self;
+}
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Release any cached data, images, etc that aren't in use.
+}
+
+#pragma mark - View lifecycle
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view from its nib.
+ tabBar = [[HBTabBarManager alloc]initWithViewController:self topView:self.view delegate:self selectedIndex:0];
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ // Return YES for supported orientations
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+@end
View
162 CustomTabBar/HollersViewController.xib
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
+ <data>
+ <int key="IBDocument.SystemTarget">1280</int>
+ <string key="IBDocument.SystemVersion">11C74</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1938</string>
+ <string key="IBDocument.AppKitVersion">1138.23</string>
+ <string key="IBDocument.HIToolboxVersion">567.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">933</string>
+ </object>
+ <array key="IBDocument.IntegratedClassDependencies">
+ <string>IBProxyObject</string>
+ <string>IBUIView</string>
+ <string>IBUILabel</string>
+ </array>
+ <array key="IBDocument.PluginDependencies">
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </array>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+ <integer value="1" key="NS.object.0"/>
+ </object>
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <object class="IBProxyObject" id="372490531">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="975951072">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="191373211">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">274</int>
+ <array class="NSMutableArray" key="NSSubviews">
+ <object class="IBUILabel" id="1058286973">
+ <reference key="NSNextResponder" ref="191373211"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{37, 219}, {246, 21}}</string>
+ <reference key="NSSuperview" ref="191373211"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <string key="NSReuseIdentifierKey">_NS:328</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">This is the HollersViewController</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ <object class="IBUIFontDescription" key="IBUIFontDescription">
+ <int key="type">1</int>
+ <double key="pointSize">17</double>
+ </object>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">17</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ </object>
+ </array>
+ <string key="NSFrame">{{0, 20}, {320, 460}}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1058286973"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </array>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <array class="NSMutableArray" key="connectionRecords">
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="372490531"/>
+ <reference key="destination" ref="191373211"/>
+ </object>
+ <int key="connectionID">3</int>
+ </object>
+ </array>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <array key="orderedObjects">
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <array key="object" id="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="191373211"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="1058286973"/>
+ </array>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="372490531"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="975951072"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">4</int>
+ <reference key="object" ref="1058286973"/>
+ <reference key="parent" ref="191373211"/>
+ </object>
+ </array>
+ </object>
+ <dictionary class="NSMutableDictionary" key="flattenedProperties">
+ <string key="-1.CustomClassName">HollersViewController</string>
+ <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="-2.CustomClassName">UIResponder</string>
+ <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
+ <nil key="activeLocalization"/>
+ <dictionary class="NSMutableDictionary" key="localizations"/>
+ <nil key="sourceID"/>
+ <int key="maxID">4</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">HollersViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/HollersViewController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">933</string>
+ </data>
+</archive>
View
BIN  CustomTabBar/tabBarAttending.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarAttending@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarBackground.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarBackground@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroup.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroup@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroupSelected.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroupSelected@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroups.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroups@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroupsSelected.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarGroupsSelected@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollerLogo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollerLogo@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollers.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollers@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollersSelected.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarHollersSelected@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarInvites.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarInvites@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarSettings.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  CustomTabBar/tabBarSettings@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Please sign in to comment.
Something went wrong with that request. Please try again.