From 4eb4a7f1a23f0ee1e90bcbc23f8b71bf18507d4f Mon Sep 17 00:00:00 2001 From: Chris Ballinger Date: Thu, 10 Apr 2014 16:39:35 -0700 Subject: [PATCH] Add more styling --- .../KFBroadcastIcon@2x.png | Bin 1354 -> 0 bytes .../Contents.json | 2 +- .../KFInfoIcon.imageset/KFInfoIcon@2x.png | Bin 0 -> 2945 bytes .../KFVideoCameraIcon.imageset/Contents.json | 17 +++++++++++++++++ .../KFVideoCameraIcon@2x.png | Bin 0 -> 863 bytes .../LaunchImage.launchimage/Contents.json | 6 ++++-- .../LaunchImage-3.5@2x.png | Bin 0 -> 19547 bytes .../LaunchImage-4@2x.png | Bin 0 -> 20269 bytes Example/KFDemoViewController.m | 16 ++++++++++++++-- Example/Kickflip-Info.plist | 4 ++++ Kickflip.xcodeproj/project.pbxproj | 4 ++++ Podfile | 5 +++-- Podfile.lock | 3 +++ README.md | 16 +++++++++------- 14 files changed, 59 insertions(+), 14 deletions(-) delete mode 100644 Example/Images.xcassets/KFBroadcastIcon.imageset/KFBroadcastIcon@2x.png rename Example/Images.xcassets/{KFBroadcastIcon.imageset => KFInfoIcon.imageset}/Contents.json (82%) create mode 100755 Example/Images.xcassets/KFInfoIcon.imageset/KFInfoIcon@2x.png create mode 100644 Example/Images.xcassets/KFVideoCameraIcon.imageset/Contents.json create mode 100644 Example/Images.xcassets/KFVideoCameraIcon.imageset/KFVideoCameraIcon@2x.png create mode 100644 Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-3.5@2x.png create mode 100644 Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-4@2x.png diff --git a/Example/Images.xcassets/KFBroadcastIcon.imageset/KFBroadcastIcon@2x.png b/Example/Images.xcassets/KFBroadcastIcon.imageset/KFBroadcastIcon@2x.png deleted file mode 100644 index a61ffc0d6c7c7a7690ce156cec8ada7c1ec66180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1354 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 literal 0 HcmV?d00001 diff --git a/Example/Images.xcassets/KFVideoCameraIcon.imageset/Contents.json b/Example/Images.xcassets/KFVideoCameraIcon.imageset/Contents.json new file mode 100644 index 0000000..73edcb3 --- /dev/null +++ b/Example/Images.xcassets/KFVideoCameraIcon.imageset/Contents.json @@ -0,0 +1,17 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "KFVideoCameraIcon@2x.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Images.xcassets/KFVideoCameraIcon.imageset/KFVideoCameraIcon@2x.png b/Example/Images.xcassets/KFVideoCameraIcon.imageset/KFVideoCameraIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..868b207de3cb2a897261725c3aef8c1e2f0241b4 GIT binary patch literal 863 zcmV-l1EBngP)f7p!iZW#QSw>LY;rm7lFQwh%gpTq z%k9qYxA#3ebGvghD>I{>$kaN4#U>Swom4n>QsLN1g=43oP@$wvK+_`UlFwgY%*=jO z^{i%w?_M?okAVrmmdNr4cmwQC@~m`8WVZvKmVjWfWeT`i4PgO|z!0#-SNc<+9~kvt zR4dj3JAgC5dSABR%(9i9_&PIJ@<_FsPSu(qtOLe;ejkBM1?O4`FyK%2yw-AaBzhpH zQnr>6-vFEh#xp>NujzqGo63JAH@A+WM-@QQA>b|W0BC6dR{4Ds)yb{;nAtZ;$>!=( zVkGSZ?&9tP(?r+tkkl?Ii)$5$?DVrd8evJTl6rw*V6QJ8$NhHCC&vXZEU8)2J=|mT zD9-6Sa2aSbvxm4|8&ITc83K}40H=YA%yff)1NVX3X7;sET!_LMNymU|z(!v-h3ha~ zHM0+M1&1hn1!&3H?gzTfY^0Rn5QP)jSHJ}`8(c_mh{9ihQ)c$8oZt}e(l5%Dg)oIH zA{CCER5*50;n)dLc#oumRJUOX`)>I$v;z!c%7U2xtSkaibd<+-S$Bq#j9Yiv@=$41k$Un%Ny-Gth$@?N|n! z1>Q@#B&jh!E?D6NGn+88bGWIZC%Dm%Cg2t@Cg}uue}j_|{jOTiFw8T1P*R>iJCJ4e zWZY!39()bwV`d{}wh!0^y!OS*ll>Xsr(bVgv+sZDjYkhaO|YQv6BkN&OesUh;pbDN!I`X002ovPDHLkV1fo&e(3-J literal 0 HcmV?d00001 diff --git a/Example/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/Images.xcassets/LaunchImage.launchimage/Contents.json index 6f870a4..b82337d 100644 --- a/Example/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/Example/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -5,14 +5,16 @@ "idiom" : "iphone", "extent" : "full-screen", "minimum-system-version" : "7.0", + "filename" : "LaunchImage-3.5@2x.png", "scale" : "2x" }, { - "orientation" : "portrait", + "extent" : "full-screen", "idiom" : "iphone", "subtype" : "retina4", - "extent" : "full-screen", + "filename" : "LaunchImage-4@2x.png", "minimum-system-version" : "7.0", + "orientation" : "portrait", "scale" : "2x" }, { diff --git a/Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-3.5@2x.png b/Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-3.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..39e8b207c9f9d0a197fbb5c647d2cfb7c260c9ea GIT binary patch literal 19547 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 literal 0 HcmV?d00001 diff --git a/Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-4@2x.png b/Example/Images.xcassets/LaunchImage.launchimage/LaunchImage-4@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..31327fe74aff8c0799284db6e1bd3b9b5739dd24 GIT binary patch literal 20269 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 RW{EZm^0F#2h0l!N{x^nXgcAS& literal 0 HcmV?d00001 diff --git a/Example/KFDemoViewController.m b/Example/KFDemoViewController.m index 8b23d18..e4734eb 100644 --- a/Example/KFDemoViewController.m +++ b/Example/KFDemoViewController.m @@ -18,6 +18,7 @@ #import "KFStreamTableViewCell.h" #import #import "UIActionSheet+Blocks.h" +#import "VTAcknowledgementsViewController.h" static NSString * const kKFStreamView = @"kKFStreamView"; static NSString * const kKFStreamsGroup = @"kKFStreamsGroup"; @@ -112,7 +113,9 @@ - (void) setupDatabaseView { - (void) setupNavigationBarAppearance { self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; - [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}]; + NSDictionary *attributes = @{NSForegroundColorAttributeName : [UIColor whiteColor], + NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:20.0]}; + [self.navigationController.navigationBar setTitleTextAttributes:attributes]; self.navigationController.navigationBar.translucent = NO; self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0.0 green:0.7 blue:0.0 alpha:1.0]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; @@ -132,6 +135,12 @@ - (void) setupTableView { [self.view addConstraints:constraints]; } +- (void) infoButtonPressed:(id)sender { + VTAcknowledgementsViewController *viewController = [VTAcknowledgementsViewController acknowledgementsViewController]; + viewController.headerText = NSLocalizedString(@"We love open source software.", nil); // optional + [self.navigationController pushViewController:viewController animated:YES]; +} + - (void) setupPullToRefresh { self.pullToRefreshView = [[SSPullToRefreshView alloc] initWithScrollView:self.streamsTableView delegate:self]; self.pullToRefreshView.contentView = [[SSPullToRefreshSimpleContentView alloc] initWithFrame:CGRectZero]; @@ -146,9 +155,12 @@ - (void)viewDidLoad self.title = @"Kickflip"; - UIBarButtonItem *broadcastBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"KFBroadcastIcon"] style:UIBarButtonItemStylePlain target:self action:@selector(broadcastButtonPressed:)]; + UIBarButtonItem *broadcastBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"KFVideoCameraIcon"] style:UIBarButtonItemStylePlain target:self action:@selector(broadcastButtonPressed:)]; self.navigationItem.rightBarButtonItem = broadcastBarButton; + UIBarButtonItem *infoBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"KFInfoIcon"] style:UIBarButtonItemStylePlain target:self action:@selector(infoButtonPressed:)]; + self.navigationItem.leftBarButtonItem = infoBarButton; + /* UIImageView *logoImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"KFLogoTransparent"]]; logoImageView.contentMode = UIViewContentModeScaleAspectFit; diff --git a/Example/Kickflip-Info.plist b/Example/Kickflip-Info.plist index 8863afc..4f2abb9 100644 --- a/Example/Kickflip-Info.plist +++ b/Example/Kickflip-Info.plist @@ -32,6 +32,10 @@ armv7 + UIStatusBarHidden + + UIStatusBarStyle + UIStatusBarStyleLightContent UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Kickflip.xcodeproj/project.pbxproj b/Kickflip.xcodeproj/project.pbxproj index cf9bfdc..862980e 100644 --- a/Kickflip.xcodeproj/project.pbxproj +++ b/Kickflip.xcodeproj/project.pbxproj @@ -22,6 +22,7 @@ D945AF68189873900026F697 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D945AF67189873900026F697 /* libc++.dylib */; }; D945AF6C189874B80026F697 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D945AF6A189874AB0026F697 /* SystemConfiguration.framework */; }; D945AF6E189874C80026F697 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D945AF6D189874C70026F697 /* MobileCoreServices.framework */; }; + D9F0C38718F75C5500DCED85 /* Pods-acknowledgements.plist in Resources */ = {isa = PBXBuildFile; fileRef = D9F0C38618F75C5500DCED85 /* Pods-acknowledgements.plist */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -48,6 +49,7 @@ D945AF6D189874C70026F697 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; D99912CE18984D3F00BFCBA4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D99912DC18984D3F00BFCBA4 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + D9F0C38618F75C5500DCED85 /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Pods-acknowledgements.plist"; path = "Pods/Pods-acknowledgements.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -81,6 +83,7 @@ D945ADD3189854000026F697 /* KFAppDelegate.m */, D945AF3F1898635A0026F697 /* KFDemoViewController.h */, D945AF401898635A0026F697 /* KFDemoViewController.m */, + D9F0C38618F75C5500DCED85 /* Pods-acknowledgements.plist */, D945ADD4189854000026F697 /* Kickflip-Info.plist */, D945ADD5189854000026F697 /* Kickflip-Prefix.pch */, D945ADD6189854000026F697 /* main.m */, @@ -177,6 +180,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D9F0C38718F75C5500DCED85 /* Pods-acknowledgements.plist in Resources */, D945ADD7189854000026F697 /* InfoPlist.strings in Resources */, D945ADD8189854000026F697 /* Images.xcassets in Resources */, ); diff --git a/Podfile b/Podfile index 48e1bc7..5a3303e 100644 --- a/Podfile +++ b/Podfile @@ -5,6 +5,7 @@ platform :ios, "7.0" pod 'Kickflip', :path => 'Submodules/kickflip-ios-sdk/Kickflip.podspec' #pod 'Kickflip', '~> 0.9' -pod 'YapDatabase' +pod 'YapDatabase', '~> 2.4' pod 'SSPullToRefresh', '~> 1.2' -pod 'UIAlertView-Blocks', '~> 1.0' \ No newline at end of file +pod 'UIAlertView-Blocks', '~> 1.0' +pod 'VTAcknowledgementsViewController', '~> 0.10' \ No newline at end of file diff --git a/Podfile.lock b/Podfile.lock index 1578ff3..1b3c735 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -39,6 +39,7 @@ PODS: - SSPullToRefresh (1.2.0) - UIAlertView-Blocks (1.0) - UIView+AutoLayout (1.3.0) + - VTAcknowledgementsViewController (0.10) - YapDatabase (2.4.1): - CocoaLumberjack (~> 1.6.3) @@ -46,6 +47,7 @@ DEPENDENCIES: - Kickflip (from `Submodules/kickflip-ios-sdk/Kickflip.podspec`) - SSPullToRefresh (~> 1.2) - UIAlertView-Blocks (~> 1.0) + - VTAcknowledgementsViewController (~> 0.10) - YapDatabase EXTERNAL SOURCES: @@ -68,6 +70,7 @@ SPEC CHECKSUMS: SSPullToRefresh: ecdc6efdee5322bba8b57dc77c1263ef6b4170bf UIAlertView-Blocks: f7be28a08e85ec21143951ec6797ca6474faf563 UIView+AutoLayout: 43373a18797954fd8ee3b1423af364f1b80a2af8 + VTAcknowledgementsViewController: 76b8edcea89b58b7be15876aaa5aba7fa8b221d7 YapDatabase: 96c3aed68fe5087d596a4b400087b861e43c93d3 COCOAPODS: 0.31.1 diff --git a/README.md b/README.md index dbab104..d2fa875 100644 --- a/README.md +++ b/README.md @@ -5,29 +5,31 @@ Example project for integration of the [Kickflip iOS SDK](https://github.com/Kic ## Cocoapods Setup -You'll need to install [Cocoapods](http://cocoapods.org) first. Because you're so bleeding edge, some of our dependencies aren't in the official Cocoapods repo yet, so you'll have to add our Specs repo. - - $ pod repo add kickflip git@github.com:Kickflip/Specs.git +You'll need to install [Cocoapods](http://cocoapods.org) first. ## Compiling -Grab the source code, check for changes to our Podspecs repo, and then update the dependencies. +Grab the source code, and then update the dependencies. $ git clone git@github.com:Kickflip/kickflip-ios-example.git $ cd kickflip-ios-example $ git submodule update --init - $ pod repo update kickflip $ pod If you would like to make modifications to the core SDK, you can integrate the SDK as a submodule as well (check the `Podfile` for more info). ## KFSecrets.h -You'll need to [sign up](http://kickflip.io), make a new app, and then put your API keys from and put them in a file called `KFSecrets.h` with the following contents: +You'll need to [sign up](https://kickflip.io), make a new app, and then put your API keys from and put them in a file called `KFSecrets.h` with the following contents: #define KICKFLIP_API_KEY @"Client ID from kickflip.io" #define KICKFLIP_API_SECRET @"Client Secret from kickflip.io" ## License -Apache 2.0 \ No newline at end of file +Apache 2.0 + +## Attribution + +* [Info](http://icons8.com/icons/#!/77/info) by [Icons 8](http://icons8.com) ([CC BY-ND 3.0](http://creativecommons.org/licenses/by-nd/3.0/)) +* [Camera Video](https://www.iconfinder.com/icons/172629/camera_video_icon) by [Icons 8](http://icons8.com) ([CC BY-ND 3.0](http://creativecommons.org/licenses/by-nd/3.0/)) \ No newline at end of file