Compare commits

..

328 Commits

Author SHA1 Message Date
Terry Worona 243c28cffb update to change log, read me, pod spec, etc 2014-09-22 11:18:11 -07:00
Terry Worona 66bf3b14e8 Fixed #111 2014-09-22 11:16:48 -07:00
Terry Worona 7287712da3 More cleanup of compiler warnings on iOS 8 2014-09-22 11:11:32 -07:00
Terry Worona e71db56a76 updated read me, change log, etc 2014-09-19 19:41:52 -07:00
Terry Worona 4be903eda7 fixed some compiler warnings 2014-09-19 19:35:37 -07:00
Terry Worona d5210eff99 Updated read me, change log and pod spec 2014-09-08 22:35:27 -07:00
Terry Worona 956386c7db Cleanup 2014-09-08 22:17:52 -07:00
terryworona c6dfb48047 Merge pull request #106 from eventualbuddha/reduce-numberOfLinesInLineChartView-calls
Only call `numberOfLinesInLineChartView:` once per loop.
2014-09-08 22:17:06 -07:00
terryworona fff2bd22d6 Merge pull request #107 from thefirstnikhil/master
iOS Framework Support
2014-09-08 22:08:46 -07:00
Nikhil Kalra 23e8e3084a iOS Framework Support
Added a UIKit import statement for use when JBChartView is added to a
Xcode project as a framework (iOS 8).
2014-09-05 21:48:15 -07:00
Brian Donovan d04eaa2622 Only call numberOfLinesInLineChartView: once per loop. 2014-09-05 11:18:21 -07:00
Terry Worona e24d2487f1 updated pod spec 2014-08-29 15:23:25 -07:00
Terry Worona d3a92dd70f updated read me and change log fixed issue #100 2014-08-29 15:22:56 -07:00
Terry Worona c73f494034 added custom dot view hide functionality on selection events 2014-08-29 15:19:49 -07:00
Terry Worona 80708acda1 Updated pod spec 2014-08-28 14:52:58 -07:00
Terry Worona 6308ee1b19 Updated read me and change log 2014-08-28 14:50:42 -07:00
Terry Worona 62965bbd9f Finished line chart padding extension properties 2014-08-28 13:51:33 -07:00
Terry Worona 06bf8b5033 Finished bar chart padding extension properties 2014-08-28 13:37:39 -07:00
Terry Worona c2a16d0fbb added optional protocol for footer/header padding extensions 2014-08-28 13:24:13 -07:00
Terry Worona 9548b2ab32 Don't extend selection views into padding 2014-08-28 13:14:58 -07:00
Terry Worona 295fb40a0b Fixed up bar charts to utilize padding properly 2014-08-28 13:01:57 -07:00
Terry Worona e29ebd39ab Updated line chart view for footer padding 2014-08-28 12:10:35 -07:00
Terry Worona 27b0493b9b Added footer padding property and updated bar chart to use it 2014-08-28 12:00:04 -07:00
Terry Worona 04f40aac1a Updated read me 2014-08-27 11:35:42 -07:00
Terry Worona 833f6e9080 Fixed issue #97 2014-08-27 11:27:58 -07:00
Terry Worona eb48db2e73 Updated comment 2014-08-27 11:21:45 -07:00
Terry Worona 55b6dae956 Cleaned up bar pop animations 2014-08-27 11:19:45 -07:00
Terry Worona c44b276ae1 fixed vertical selection adjustment 2014-08-26 19:14:15 -07:00
Terry Worona 93f3d1862e simplified bar chart animations and added invert flag 2014-08-26 19:02:06 -07:00
Terry Worona 19a4a0bf5c Updated pod spec 2014-08-26 15:49:59 -07:00
Terry Worona 9d43c6dd23 updated read me and pod spec 2014-08-26 15:49:21 -07:00
Terry Worona 8598ff1488 Fixed issue #93 2014-08-26 15:46:03 -07:00
Terry Worona b9d28bfd59 Updated pod spec 2014-08-26 15:40:00 -07:00
Terry Worona dd1dce758e updated read me and change log 2014-08-26 15:39:25 -07:00
Terry Worona 9fce2fc1c0 Fixed #95 2014-08-26 15:35:40 -07:00
Terry Worona ab1cf713e6 Fixed bar chart selection view for non-homogenous bar widths 2014-08-26 15:29:05 -07:00
Terry Worona 4363147303 updated read me 2014-08-22 18:19:34 -07:00
Terry Worona 8a1770c6df Updated pod spec 2014-08-22 18:13:52 -07:00
Terry Worona f84f322598 updated read me 2014-08-22 18:13:20 -07:00
Terry Worona 04e1aa5b98 Hide custom dots on selector for now 2014-08-22 18:10:30 -07:00
Terry Worona ab07aa2399 Fixed padding issues 2014-08-22 15:36:08 -07:00
Terry Worona f01e11a0e2 Added custom dot views to line chart 2014-08-22 14:21:06 -07:00
Terry Worona 76984c7c7c added protocols for custom dots 2014-08-22 12:07:09 -07:00
Terry Worona d38a04a70d Added dot radius on a per horizontal index basis 2014-08-22 11:52:53 -07:00
Terry Worona 385d5b3589 Updated pod spec 2014-08-14 19:26:18 -07:00
Terry Worona 90100c7277 updated read me and change log 2014-08-14 19:25:39 -07:00
Terry Worona eca1c0507e Cleaned up PR #90 2014-08-14 19:23:19 -07:00
terryworona ac870e45ce Merge pull request #90 from mszaro/master
Add per-line vertical selection color support.
2014-08-14 19:17:19 -07:00
mszaro 74f588b7e6 Update comment. 2014-08-14 18:51:48 -07:00
mszaro 406b64ae0c Implement per-line vertical selection colors 2014-08-14 18:50:55 -07:00
Terry Worona 92e56d78c5 updates specs and read me 2014-08-14 18:01:04 -07:00
Terry Worona 36ec328346 Fixed issue #89 2014-08-14 17:57:39 -07:00
Terry Worona b763ae540c updated version 2014-08-07 13:33:46 -07:00
Terry Worona 7ffdf6d9da Fixed issue #83 2014-08-07 13:30:48 -07:00
Terry Worona 6531c68574 version update 2014-08-04 13:37:33 -07:00
Terry Worona ebae36bd2f Pushed base datasource and delegate protocols up to JBChartView (for extensibility) 2014-08-04 13:17:04 -07:00
Terry Worona 8cdff2891c Updated version 2014-08-04 10:15:05 -07:00
Terry Worona 333200d041 Fixed issue #77 2014-08-04 10:13:05 -07:00
Terry Worona 6ad3bd7692 Readme update 2014-08-02 12:20:25 -07:00
Terry Worona 3531e593da update change log, read me, pod spec 2014-08-02 12:13:12 -07:00
Terry Worona eeb9ca604c More refactors 2014-08-02 12:02:01 -07:00
Terry Worona b884108dbb More line chart refactors 2014-08-02 11:46:25 -07:00
Terry Worona 00dd74f733 Started JBLineChartView refactor 2014-08-02 11:22:58 -07:00
Terry Worona c1938147d8 Cleaned up warning 2014-08-02 11:17:09 -07:00
Terry Worona e17c5419f4 Refactor JBBarChartView datasource and delegate 2014-08-02 11:14:36 -07:00
Terry Worona d0cb8b0307 Updated pod spec 2014-07-31 13:30:53 -07:00
Terry Worona fe81df094e Updated change log and read me 2014-07-31 13:29:58 -07:00
Terry Worona 0dae570cc6 Fixed line width bug for JBLineChartView 2014-07-31 13:28:07 -07:00
Terry Worona c5c93cb660 update version, read me, pod spec 2014-07-25 16:43:34 -07:00
Terry Worona 3df69b0a9c more demo chart cleanup 2014-07-25 16:19:28 -07:00
Terry Worona 30305cdde9 String cleanup 2014-07-25 16:12:00 -07:00
Terry Worona 8e1cbba06f Fixed chart coloring 2014-07-25 16:00:07 -07:00
Terry Worona 97e5acdb1a added area controller and assets 2014-07-25 15:55:48 -07:00
Terry Worona 47f1f0ba8d Reverted base to iOS 6 2014-07-25 15:22:08 -07:00
Terry Worona 0be9465049 Fixed OS checks 2014-07-25 15:18:47 -07:00
Terry Worona 7bed3dd5d0 updated pod spec, change log and read me 2014-07-25 14:18:23 -07:00
Luo Sheng 4f1f6760d5 Update the Podspec. 2014-07-25 12:28:33 +08:00
Luo Sheng 8103a1aea4 Make the demo run in iOS 6 too. 2014-07-25 12:27:51 +08:00
Luo Sheng dc6dc647ad Use sizeWithFont: method for iOS 6. 2014-07-25 12:23:26 +08:00
Terry Worona b6ea1a502a Updated pod spec 2014-07-24 16:20:10 -07:00
Terry Worona afcf328158 Fixed readme 2014-07-24 15:43:47 -07:00
Terry Worona 49cf12c568 updated read me and change log of fill functions 2014-07-24 15:39:37 -07:00
Terry Worona 0d4b942b74 Merge branch 'master' of https://github.com/Jawbone/JBChartView 2014-07-24 15:25:22 -07:00
Terry Worona 30a369796f Minor cleanup of PR #71 2014-07-24 15:25:15 -07:00
Terry Worona f2f35312e4 Updated read me 2014-07-24 14:32:22 -07:00
terryworona d32f09a584 Merge pull request #67 from jonparker/master
Added documentation for usage in a Swift project
2014-07-18 11:15:44 -07:00
Damien Legrand 80e179df1d Fill Color
Fill color for line chart :
* Default color is clearColor
* The user can define a color and a selection color for each line with
two new methods in JBLineChartViewDataSource protocol
2014-07-17 17:38:24 +02:00
Terry Worona 48da335f09 added spark friends link 2014-06-30 19:24:06 -07:00
Terry Worona 70c1fb897c added more demos section 2014-06-24 13:05:52 -07:00
Terry Worona 30df02f804 screen update 2014-06-24 12:58:50 -07:00
Terry Worona 9ba20e9e14 updated screenshot 2014-06-24 12:52:37 -07:00
Terry Worona d6d1dd8461 Updated screenshot 2014-06-24 12:21:21 -07:00
Jonathan Parker b0de620503 Added link to iOS documentation. 2014-06-23 15:49:26 +10:00
Jonathan Parker 8e81fb20cd Added instructions for use in a Swift project. 2014-06-23 15:46:37 +10:00
Terry Worona a303422d8e updated read me, pod spec, etc 2014-05-13 19:44:52 -07:00
Terry Worona 1aff68557f Cleaned up demo code and add min value to bar charts 2014-05-13 19:42:14 -07:00
terryworona ac3744c0c9 Merge pull request #57 from pala/master
Fixed barView's frame.
2014-05-13 19:33:55 -07:00
Tao Zhang a6ea0c30f8 Update JBBarChartView.m 2014-05-13 21:56:02 -04:00
pala ea531e3cb1 Fixed barView's frame. 2014-05-13 19:42:06 -04:00
terryworona b1a3ebd4ed Merge pull request #55 from pala/patch-1
Update sample code in readme
2014-05-13 10:39:24 -07:00
Tao Zhang 554f93f3d3 Update sample code 2014-05-12 23:41:25 -04:00
Terry Worona 2ddd38fc9d updated change log 2014-05-07 09:55:10 -07:00
Terry Worona 6691f7a8c3 Updated comment, read me, pod spec, etc 2014-05-07 09:47:32 -07:00
terryworona c015531c85 Merge pull request #53 from skywinder/bar-color-delegate
Add delegate method barChartView:colorForBarViewAtIndex: to JBBarChartViewDataSource
2014-05-07 09:40:43 -07:00
terryworona 3d036edc96 Merge pull request #52 from skywinder/compiling-warrnings-and-typos
Compiling warrnings and typos
2014-05-07 09:36:48 -07:00
Petr Korolev 85c30351fe Add new delegate method to JBBarChartView
Implement logic to set specifed color before set the default kJBBarChartViewDefaultBarColor
Add call of this code to Example project
2014-05-07 15:33:50 +03:00
Petr Korolev d37383a352 fix typo 2014-05-07 14:59:34 +03:00
Petr Korolev 3c6cf24cf7 Cast to correct return type (NSUInteger) 2014-05-07 14:37:28 +03:00
Terry Worona 8dbb2679ee Updated log, spec and read me 2014-05-06 14:05:24 -07:00
Terry Worona 867466d1d1 More more compile error 2014-05-06 14:04:17 -07:00
Terry Worona 2046131143 Updated read me, pod spec, etc. 2014-05-06 13:40:21 -07:00
Terry Worona 208a727d88 Fixed compiler warnings 2014-05-06 13:38:24 -07:00
Terry Worona 43c6e9486f Updated version, pod spec, etc 2014-05-05 12:33:39 -07:00
Terry Worona 49206a01ed Fixed issue #48 2014-05-05 12:31:12 -07:00
Terry Worona e2b17820bf readme updates 2014-05-04 14:47:21 -07:00
Terry Worona b59904e5b9 updated for new version 2014-05-04 14:45:27 -07:00
Terry Worona 1d8f78d751 Fixed issue #48 2014-05-04 14:07:27 -07:00
Terry Worona 3cc39124b8 updated version 2014-05-04 09:48:10 -07:00
terryworona bedd7e2c71 Merge pull request #49 from simonnickel/master
fixed typo, renamed mininum -> minimum
2014-05-04 09:44:03 -07:00
Simon Nickel 786af91666 fixed typo, renamed mininum -> minimum 2014-05-03 22:18:42 +02:00
Terry Worona b7927cddb7 Fixes issue #46 2014-04-30 22:58:47 -07:00
Terry Worona 0f2d4d766c updated change log, pod spec, etc 2014-04-30 10:04:01 -07:00
terryworona 64de3e6e23 Merge pull request #45 from ktran03/smoothCurveFix
Smooth curve fix
2014-04-30 09:59:22 -07:00
ktran03 87fb8ee7b8 missing variable in condition 2014-04-29 22:03:40 -04:00
ktran03 7c0dfe3eb5 smooth curve fix for more straight line cases 2014-04-29 21:55:47 -04:00
Terry Worona 87b62ad2b1 updated change log, pod spec, read me 2014-04-28 12:06:03 -07:00
Terry Worona 9c0d788418 More style updates 2014-04-28 12:00:59 -07:00
Terry Worona de009f0236 PR #39 cleanup 2014-04-28 11:25:45 -07:00
ktran03 d46e4fe14d changed compare condition to using slope instead of vertical diff 2014-04-26 18:32:40 -04:00
ktran03 236336fdf3 added check for y-value difference if exceeds threshold 2014-04-25 15:14:16 -04:00
ktran03 9b60a1d662 Expose smooth option through delegate, fix diffs 2014-04-24 14:35:54 -04:00
ktran03 3700b4e2e2 smooth curve using bezierpath 2014-04-19 20:15:53 -04:00
Terry Worona 8c03033a1c Added screenshot to pod spec 2014-04-18 10:14:42 -07:00
Terry Worona bb084b1b89 Fixes issue #34 2014-04-17 18:32:58 -07:00
Terry Worona 1c7c8b2e52 Updated read me, pod spec etc for new version 2014-04-14 10:36:07 -07:00
Terry Worona 79a57d98e3 Clamp selection width to width of chart 2014-04-14 10:32:50 -07:00
Terry Worona 20d6b6081b Fixed comment 2014-04-14 10:30:24 -07:00
terryworona 20bbbdcc86 Merge pull request #37 from veducm/master
Added delegate method to configure the width of the vertical selection bar in a line chart.
2014-04-14 10:27:51 -07:00
Edu Caselles 51ac8a1d63 Added delegate method to configure the width of the vertical selection bar in a line chart. 2014-04-14 01:35:20 +02:00
Terry Worona 68d04a2cdb Fixes issue #36 2014-04-12 09:11:41 -07:00
Terry Worona b7734ef189 Updated for new version 2014-04-11 15:02:46 -07:00
Terry Worona f6d2fe8b62 Fixed issue #33 2014-04-11 15:00:33 -07:00
Terry Worona 5c9679f448 updated read me, etc for new version 2014-04-10 16:18:52 -07:00
Terry Worona 037225a386 Fixed issue #30 2014-04-10 16:15:28 -07:00
terryworona 0fe979bd22 Merge pull request #30 from gumbypp/master
JBChartView: needs initWithCoder initializer for inflation from a xib
2014-04-10 16:13:34 -07:00
Dale Low 31b64ed7e4 JBChartView: needs initWithCoder initializer for inflation from a xib 2014-04-10 16:00:27 -07:00
Terry Worona c30398c3ea Updated readme 2014-04-10 13:23:26 -07:00
Terry Worona bc08322a3a Updated version 2014-04-10 13:13:38 -07:00
Terry Worona 213973f4ed Fixing line chart padding calculations for custom dot radius 2014-04-10 11:20:16 -07:00
Terry Worona 28d40bcb31 Added dot radius callbacks for line charts 2014-04-10 10:58:47 -07:00
Terry Worona d4df0184a2 Updated change log, pod spec and read me 2014-04-03 14:49:36 -07:00
Terry Worona 4f313aab80 Added state force setters 2014-04-03 14:48:01 -07:00
Terry Worona b6262462c5 Updated pod spec change log and read me 2014-04-02 11:49:52 -07:00
Terry Worona 1080089753 Added dynamic padding to line chart view 2014-04-02 11:46:42 -07:00
Terry Worona 0afba01a9a Updated read me and pod spec 2014-04-02 10:26:59 -07:00
Terry Worona 63b47667ec Fixed min and max value properties 2014-04-02 09:08:12 -07:00
Terry Worona 4d6baf066f cleaned up cached constants 2014-04-02 08:50:43 -07:00
Terry Worona 359ef7d0ea Updated read me, change log and podspec 2014-03-30 21:50:00 -07:00
Terry Worona 7b1e6475f2 Clamp min and value values if supplied 2014-03-30 21:47:00 -07:00
Terry Worona 2b8853780c added optional min and max value properties to JBChartView 2014-03-30 21:27:00 -07:00
Terry Worona 0754e2e5d2 min height patches 2014-03-29 19:20:15 -07:00
Terry Worona 52b722013e updated change log 2014-03-27 16:05:00 -07:00
Terry Worona 4ef9b6442e Changelog updates 2014-03-27 14:21:15 -07:00
Terry Worona 177e076807 Readme update 2014-03-27 14:11:12 -07:00
Terry Worona 21969d759d changelog styling 2014-03-27 14:08:28 -07:00
Terry Worona 4fd6f1cb63 Added change log 2014-03-27 14:06:32 -07:00
Terry Worona 804ce2ca67 Updated line chart header comments 2014-03-27 13:02:07 -07:00
Terry Worona 485cfb9631 Fixed dot selections 2014-03-27 12:54:12 -07:00
Terry Worona 4640dede3a updated pod spec 2014-03-26 15:14:46 -07:00
Terry Worona 1b90c6e16f Updated read me 2014-03-26 15:13:53 -07:00
Terry Worona 15b53aa68e added line smooth bools 2014-03-26 15:05:37 -07:00
Terry Worona 0e277dc347 more dot selection cleanup 2014-03-26 14:12:05 -07:00
Terry Worona 6de42998c0 selection cleanups 2014-03-26 14:09:38 -07:00
Terry Worona a1e4be3a5d Dot selections 2014-03-26 14:01:29 -07:00
Terry Worona acaf6fb4dc moved dot function to datasource for line graphs 2014-03-26 12:49:35 -07:00
Terry Worona 5894610278 finished new line chart animations 2014-03-26 11:55:58 -07:00
Terry Worona e605e60f28 Line chart animation cleanup 2014-03-26 11:34:24 -07:00
Terry Worona 33b3c9518f Simplifying line chart animations 2014-03-26 10:40:44 -07:00
Terry Worona aec3d31e17 much work on dot views for lines 2014-03-25 16:56:46 -07:00
Terry Worona c99a0429b4 Implementation cleanup 2014-03-25 16:08:28 -07:00
Terry Worona f9fc90244f created custom line dot views 2014-03-25 16:07:38 -07:00
Terry Worona 6b0198f732 Created dot view class to get perfect circles 2014-03-25 15:59:47 -07:00
Terry Worona f0e52b42d7 More class naming convention changes 2014-03-25 15:47:26 -07:00
Terry Worona 381850ada4 Updated view names 2014-03-25 15:40:00 -07:00
Terry Worona 8b22d5fadd Started dot line implementation 2014-03-25 15:35:10 -07:00
Terry Worona 01171b9487 Updated read me and version 2014-03-19 13:32:27 -07:00
Terry Worona d3a1ce1c25 Fixed issue #22 2014-03-19 13:30:26 -07:00
Terry Worona 3b6863786f Updated read me 2014-03-19 13:27:00 -07:00
Terry Worona 1d39945e62 added frame and reload docs to readme 2014-03-18 17:56:17 -07:00
Terry Worona f0f1d5174e More read me work 2014-03-18 17:38:14 -07:00
Terry Worona 11e0f21e03 More read me work 2014-03-18 17:35:57 -07:00
Terry Worona 59183657e8 Center image 2014-03-18 17:35:26 -07:00
Terry Worona 47a75d4291 updated image 2014-03-18 17:34:41 -07:00
Terry Worona 32a449f460 Updated read me and pod spec 2014-03-18 17:32:42 -07:00
terryworona d9aea500bf Merge pull request #21 from Jawbone/multi_line
Multiple Line Support & Tooltips
2014-03-18 17:31:32 -07:00
Terry Worona 8c947322ae Added new line to constants file 2014-03-18 17:28:45 -07:00
Terry Worona 5b397a4f49 fixed assert comment 2014-03-18 17:28:23 -07:00
Terry Worona 44c79e8a7c Minor fix to bar chart datasource 2014-03-18 17:03:14 -07:00
Terry Worona 40db9062ce Line view assert checks 2014-03-18 17:01:07 -07:00
Terry Worona dafb0f81d4 More asserts for bar charts 2014-03-18 16:54:43 -07:00
Terry Worona f8df682b62 more asserts 2014-03-18 16:48:34 -07:00
Terry Worona 293dc29183 Added asserts 2014-03-18 16:48:12 -07:00
Terry Worona ef1b8b3414 Fixed extreme value bugs 2014-03-18 16:24:50 -07:00
Terry Worona 58bbb99c94 Updated read me 2014-03-18 16:04:18 -07:00
Terry Worona b829884008 Cleaned up strings and random chart data 2014-03-18 15:12:06 -07:00
Terry Worona e82756172b Cleaning up string constants 2014-03-18 14:08:30 -07:00
Terry Worona 58651a3325 fixed line chart out of bounds crash 2014-03-18 11:47:58 -07:00
Terry Worona 328b5775aa Changed line chart style order 2014-03-17 14:27:43 -07:00
Terry Worona 64f22aa758 more readme 2014-03-17 14:22:58 -07:00
Terry Worona bc9e9c31b5 Cleaning up read me 2014-03-17 14:21:13 -07:00
Terry Worona c4d1d2ade3 Updated read me and pod spec 2014-03-17 14:15:37 -07:00
Terry Worona 97874ce1ef Updated project settings 2014-03-17 14:15:28 -07:00
Terry Worona dcc826e8a6 Added nib init support 2014-03-17 11:28:22 -07:00
Terry Worona 31bb7a0a2b more tooltip views 2014-03-17 11:08:16 -07:00
Terry Worona d83742315f more tooltip cleanup 2014-03-17 11:06:41 -07:00
Terry Worona 7e4cbc0533 More tooltip work 2014-03-17 10:57:34 -07:00
Terry Worona 87d752c5e3 Improving chart tooltip position 2014-03-17 10:39:03 -07:00
Terry Worona 5f2de0e862 More tooltip work and tooltip tip view 2014-03-17 10:32:48 -07:00
Terry Worona 0d4f17dd25 Updated line separator size 2014-03-13 17:57:05 -07:00
Terry Worona 9ba965ecf0 added tooltip to bar chart view 2014-03-13 16:53:49 -07:00
Terry Worona 31b0ba8e28 moved tooltip functionality to base chart controller 2014-03-13 16:46:57 -07:00
Terry Worona 9edd9d562a Merge branch 'master' of https://github.com/Jawbone/JBChartView into multi_line 2014-03-13 16:21:13 -07:00
Terry Worona d30abc6a1a Fixed issue #19 2014-03-13 16:12:22 -07:00
Terry Worona 78d1bfb275 Information view cleanup 2014-03-12 19:16:10 -07:00
Terry Worona b6de13f1ac more tooltip and touch work 2014-03-12 18:42:43 -07:00
Terry Worona 1dbd52fd75 tooltip work 2014-03-12 18:27:32 -07:00
Terry Worona 0917d4b6b8 more opacity work 2014-03-12 16:47:31 -07:00
Terry Worona d10b42dc5a added line dims on selection 2014-03-12 16:45:24 -07:00
Terry Worona 78f34ecaa5 more constant cleanup 2014-03-12 16:27:48 -07:00
Terry Worona cc2d356223 cleaning up line controller 2014-03-12 16:25:09 -07:00
Terry Worona 2c8a578f92 added interface comments 2014-03-12 16:15:03 -07:00
Terry Worona 2e5b1c4d01 line chart line style work 2014-03-12 16:03:05 -07:00
Terry Worona a58ac858ab Integer cleanup and adding line customization 2014-03-12 15:17:30 -07:00
Terry Worona ebfb4c421e Added comments 2014-03-11 15:02:32 -07:00
Terry Worona b08324e6dd Fixed chart extremes 2014-03-11 14:58:39 -07:00
Terry Worona 72dda814c6 more line cleanup 2014-03-11 14:01:49 -07:00
Terry Worona e76daca899 updated datasource functions 2014-03-11 12:04:38 -07:00
Terry Worona bafcc02862 updating chart comments 2014-03-11 11:51:50 -07:00
Terry Worona 9d80750467 Internal line view cleanup 2014-03-11 11:28:06 -07:00
Terry Worona 8c93fafa37 Multiple line selections finally working. 2014-03-10 19:14:35 -07:00
Terry Worona e518246f26 line selection working 2014-03-07 15:01:16 -08:00
Terry Worona a1256c3297 single line selections 2014-03-07 14:18:14 -08:00
Terry Worona 84ca6d41ae Line selection 2014-03-05 19:31:19 -08:00
Terry Worona d94ef105cf consolidated touch code 2014-03-05 16:41:36 -08:00
Terry Worona 361985f236 More selection view cleanup 2014-03-05 16:29:27 -08:00
Terry Worona 6987b4636a more property cleanup 2014-03-05 16:04:01 -08:00
Terry Worona 18f56fa818 more property renaming for selection views 2014-03-05 15:59:05 -08:00
Terry Worona 5724b8424f Property renaming 2014-03-05 14:57:15 -08:00
Terry Worona f62b3be08e Line chart line selection logic 2014-03-05 14:52:20 -08:00
Terry Worona a4c21168ab hooking up line index logic 2014-03-04 11:56:23 -08:00
Terry Worona f1ec5add4b Updated shows selection bool naming 2014-03-04 11:53:29 -08:00
Terry Worona 62ed0c6496 Started multi line support 2014-03-04 11:36:24 -08:00
Terry Worona 3d5e5c3e1d Updated podspect 2014-03-02 17:24:33 -08:00
Terry Worona 7e33f7121a Updated read me 2014-03-02 17:23:53 -08:00
Terry Worona 09fefa292a Added assert check for line width and added hookups to demo project 2014-03-02 17:16:51 -08:00
Terry Worona 47c6d744ba added periods to comments 2014-03-02 17:14:49 -08:00
Terry Worona fc32f8282e Moved pod spec back into /Classes 2014-03-02 17:10:31 -08:00
terryworona 7ee84c24f0 Merge pull request #15 from kmcbride/line-customization
Added customization for line width
2014-03-02 17:06:44 -08:00
Terry Worona 12a15f1051 Added default init for bar and line charts. 2014-03-02 16:49:03 -08:00
Kylan McBride 6a8f927510 Moved podspec location 2014-02-14 22:36:25 -08:00
Kylan McBride 3bf16ecae9 Added line width customization 2014-02-14 22:34:23 -08:00
Kylan McBride 5a7b211f16 Fixed Typo and excess whitespace 2014-02-14 22:32:44 -08:00
terryworona 189c907bb9 Merge pull request #14 from Undo1/patch-1
fix spelling mistake
2014-02-14 09:38:35 -08:00
Undo1 6f16ae64ab fix spelling mistake 2014-02-13 20:06:11 -07:00
Terry Worona b911dfa9e2 Updated version 2014-02-11 16:47:54 -08:00
Terry Worona 2335a371b6 Fixed selection view cancelled bug 2014-02-07 10:23:48 -08:00
Terry Worona b41d7ad944 Don't clip bar chart views 2014-02-07 09:52:57 -08:00
Terry Worona 4ffb2e1e0c Fixed minor bar chart animation bugs 2014-02-07 09:39:56 -08:00
Terry Worona 9ae2adb81c Updated version and read me 2014-02-06 10:58:29 -08:00
Terry Worona 185782daab Fixed compilation warnings 2014-02-06 10:48:28 -08:00
Terry Worona 51acae13a1 updated read me and pod spec 2014-01-06 13:25:55 -08:00
Terry Worona 03217243d9 Fixed float bugs 2014-01-06 12:23:21 -08:00
Terry Worona 072e45902d Removed unused cached height 2014-01-06 12:08:30 -08:00
Terry Worona 326037ce93 Added precision to line and bar charts & fixed cached height bug 2014-01-06 12:06:19 -08:00
terryworona f447549666 Merge pull request #11 from sampage/patch-1
Fixes small typos in README
2014-01-06 10:39:48 -08:00
Sam Page eba1d39ba3 Fixes small typos in README
"initialze" -> "initialize"
2014-01-06 15:51:15 +11:00
Terry Worona 8d28b65add Updated pod spec to latest version 2014-01-03 10:57:33 -08:00
Terry Worona e72a54356e Updated datasource to require CGFloats for heights instead of Integers. ss 2014-01-03 10:54:28 -08:00
Terry Worona 86440913ba Updated read me and pod spec 2014-01-02 10:20:51 -08:00
Terry Worona c1ac9e4a2f Remove ivar access except for designated functions 2014-01-02 10:02:47 -08:00
terryworona 6f185f9e53 Merge pull request #8 from l4u/cache
Reset cached max height on data reload Fixes #7
2014-01-02 10:00:55 -08:00
Leo Lou d142629dd3 Reset cached max height on data reload Fixes #7 2014-01-02 18:33:45 +08:00
Terry Worona 84d9c0f5da updated pod spec and read me 2013-12-26 10:00:12 -05:00
Terry Worona 5f400d3c91 Updated datasource to request bar view instead of color 2013-12-25 17:25:58 -05:00
Terry Worona 409b58c53c updated pod spec and read me 2013-12-23 18:02:30 -05:00
Terry Worona 0b6108dea8 resolved #4 | removed bar shadow from bar chart subviews 2013-12-23 17:50:20 -05:00
Terry Worona c7fe1c4114 updated specs and readme 2013-12-17 11:37:47 -08:00
Terry Worona 318d59dadd Fixed footer touches up alpha bug 2013-12-17 11:35:45 -08:00
Terry Worona ffd12921a4 updated read me and podspec 2013-12-14 23:26:16 -08:00
Terry Worona ef2f02743f Added footer view checks for selection views 2013-12-14 23:24:28 -08:00
terryworona 74d63d31e3 Merge pull request #2 from joelkraut/master
If there is no footer view, bars won't be added to the chart.
2013-12-14 23:18:42 -08:00
Joel Kraut 49c7bdee0c If there is no footer view, bars won't be added to the chart. 2013-12-13 15:43:58 -08:00
Terry Worona 851e78c668 Updated read me to use raw links 2013-12-11 13:42:53 -08:00
Terry Worona 03c2a3bcc3 Update read me 2013-12-09 19:13:46 -08:00
Terry Worona 21bb7ba160 Moved license back to root 2013-12-09 19:13:22 -08:00
Terry Worona 7fdd5d3fd4 Reverted pod spec and demo version 2013-12-06 16:35:02 -08:00
Terry Worona 61785ce2ae Updated pod spec and demo version 2013-12-06 16:30:46 -08:00
Terry Worona 37c0af3b9f added license back into pod class directory 2013-12-06 15:56:56 -08:00
Terry Worona b9f05fc663 Updated read me 2013-12-06 15:40:37 -08:00
Terry Worona 5694e92c8e updated read me 2013-12-06 15:37:55 -08:00
Terry Worona 9b45ea0a3e moved license, updated read me, and tag 2013-12-06 15:35:23 -08:00
Terry Worona fff3c5e604 moved license and updated pod spec 2013-12-05 17:53:44 -08:00
Terry Worona c411f6def5 Updated pod spec 2013-12-05 17:50:54 -08:00
Terry Worona 0143a80159 Updated pod spec and chart constants 2013-12-05 17:17:35 -08:00
Terry Worona 11582c5264 Updated pod spec version 2013-12-05 17:07:24 -08:00
Terry Worona 6c5ea8541b revert image overviews 2013-11-21 16:19:06 -08:00
Terry Worona 8b523246b1 center images 2013-11-21 16:16:39 -08:00
Terry Worona ac6d2b9795 screenshots back in read me 2013-11-21 16:15:54 -08:00
Terry Worona a28f8001e6 Updated read me 2013-11-21 16:06:30 -08:00
terryworona 424796abe7 Merge pull request #1 from terryworona/master
JBChartViewDemo and JBChartView
2013-11-21 15:50:04 -08:00
Terry Worona 1ca8816ed2 Support for iOS 7 only 2013-11-20 15:25:52 -08:00
Terry Worona 523cc43cfd Safe block copies. 2013-11-20 12:23:05 -08:00
Terry Worona 61622a7a2c Fixed < iOS 7 issues 2013-11-20 12:04:53 -08:00
Terry Worona a9b1164887 more code review improvements 2013-11-20 11:35:59 -08:00
Terry Worona dadbb15a42 split out selection view into single instance 2013-11-20 11:32:41 -08:00
Terry Worona 3013f009f4 Added default comments to chart protocols 2013-11-20 11:13:37 -08:00
Terry Worona f938ab839c shape layer improvements (code review) 2013-11-19 18:32:11 -08:00
Terry Worona 1c1dd00cd2 code review comments 2013-11-19 18:19:17 -08:00
Terry Worona efd23addd4 code review comments 2013-11-19 18:18:42 -08:00
Terry Worona 57ee6e4c0a Cleaned up chart information view layout code 2013-11-19 18:17:04 -08:00
Terry Worona 2fae7ae37e switched over max and min to fmax fmin 2013-11-19 17:30:43 -08:00
Terry Worona b52f77d97e Added explicit required protocols 2013-11-19 17:24:57 -08:00
Terry Worona 5fde466dec removed static color alpha function and replaced with native one 2013-11-19 17:23:36 -08:00
Terry Worona a557e4b84e code review cleanup 2013-11-19 17:18:35 -08:00
Terry Worona 03ba74ee6b added line chart unselect index 2013-11-14 15:55:39 -08:00
Terry Worona 9908faf9b9 added bar chart unselect index 2013-11-14 15:48:57 -08:00
Terry Worona 068d86d109 JBChartViewDemo and JBChartView classes 2013-11-13 21:36:09 -08:00
Terry Worona 4bf53d2d39 first commit 2013-11-13 21:32:09 -08:00
385 changed files with 6775 additions and 5852 deletions
+22 -3
View File
@@ -1,4 +1,23 @@
.*.sw?
# OS X
.DS_Store
.rbenv-version
Gemfile.lock
# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
profile
*.moved-aside
DerivedData
*.hmap
*.xccheckout
# CocoaPods
Pods
-5
View File
@@ -1,5 +0,0 @@
language: ruby
rvm:
- 1.8.7
- 1.9.3
install: rake travis:setup
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.1'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.1' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.2'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.2' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.3'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.3' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.4'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.4' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.5'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.5' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.6'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.6' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0.7'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0.7' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2DynamicDelegate'
s.version = '1.0'
s.license = 'BSD'
s.summary = 'Blocks are to functions as A2DynamicDelegate is to delegates.'
s.homepage = 'https://github.com/pandamonia/A2DynamicDelegate'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us',
'Zachary Waldowski' => 'zwaldowski@gmail.com' }
s.source = { :git => 'https://github.com/pandamonia/A2DynamicDelegate.git', :tag => 'v1.0' }
s.source_files = 'A2DynamicDelegate.{h,m}', 'A2BlockDelegate.{h,m}'
end
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2StoryboardSegueContext'
s.version = '1.0.1'
s.license = 'BSD'
s.summary = 'Supplement your segues\' identifier strings with context objects.'
s.homepage = 'https://github.com/pandamonia/A2StoryboardSegueContext/'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/pandamonia/A2StoryboardSegueContext.git', :tag => 'v1.0.1' }
s.platform = :ios
s.source_files = 'A2StoryboardSegueContext.{h,m}'
end
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'A2StoryboardSegueContext'
s.version = '1.0'
s.license = 'BSD'
s.summary = 'Supplement your segues\' identifier strings with context objects.'
s.homepage = 'https://github.com/pandamonia/A2StoryboardSegueContext/'
s.author = { 'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/pandamonia/A2StoryboardSegueContext.git', :tag => 'v1.0' }
s.platform = :ios
s.source_files = 'A2StoryboardSegueContext.{h,m}'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ABContactHelper'
s.version = '0.0.1'
s.license = 'BSD'
s.summary = 'Objective-C Address Book wrapper.'
s.homepage = 'https://github.com/erica/ABContactHelper'
s.author = { 'Erica Sadun' => '' }
s.source = { :git => 'https://github.com/erica/ABContactHelper.git', :commit => 'de4bc411fd45db5e7b5b13f38704764bc1e1bcd1' }
s.platform = :ios
s.source_files = 'ABContact.{h,m}', 'ABGroup.{h,m}', 'ABContactsHelper.{h,m}'
s.frameworks = 'AddressBook', 'AddressBookUI'
end
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ADVProgressBar'
s.version = '0.0.1'
s.license = 'MIT'
s.summary = 'Progress Bar Design with Percentage values'
s.homepage = 'https://github.com/appdesignvault'
s.author = { 'appdesignvault' => 'appdesignvault' }
s.source = { :git => 'https://github.com/appdesignvault/ADVProgressBar.git', :commit => 'ff88e5ce20fed36b1e0e2da167f0b7f51e62ce8c' }
s.platform = :ios
s.source_files = 'ADVProgressBar/Classes/*.{h,m}'
s.resources = "ADVProgressBar/Resources/*.png"
s.framework = 'UIKit'
s.clean_paths = "ADVProgressBar.xcodeproj" , 'ADVProgressBar/en.lproj' , 'ADVProgressBar/ADVAppDelegate.{h,m}' , 'ADVProgressBar/ADVViewController.{h,m}' , 'ADVProgressBar/ADVProgressBar-Info.plist' , 'ADVProgressBar/ADVProgressBar-Prefix.pch'
s.requires_arc = true
end
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFHTTPRequestOperationLogger'
s.version = '0.9.0'
s.license = 'MIT'
s.summary = 'AFNetworking Extension for HTTP Request Logging'
s.homepage = 'https://github.com/AFNetworking/AFHTTPRequestOperationLogger'
s.authors = { 'Mattt Thompson' => 'm@mattt.me' }
s.source = { :git => 'https://github.com/AFNetworking/AFHTTPRequestOperationLogger.git', :tag => '0.9.0' }
s.source_files = 'AFHTTPRequestOperationLogger.{h,m}'
s.dependency 'AFNetworking', '0.9.0'
end
-23
View File
@@ -1,23 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFNetworking'
s.version = '0.5.1'
s.summary = 'A delightful iOS networking library with NSOperations and block-based callbacks'
s.homepage = 'https://github.com/gowalla/AFNetworking'
s.author = { 'Gowalla' => 'live@gowalla.com' }
s.source = { :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.5.1' }
if config.ios?
s.source_files = 'AFNetworking' # everything
else
s.source_files = %w{
AFNetworking/AFHTTPRequestOperation.h
AFNetworking/AFJSONRequestOperation.h
AFNetworking/NSData+AFNetworking.h
AFNetworking/NSMutableURLRequest+AFNetworking.h
AFNetworking/NSString+AFNetworking.h
}
end
s.library = 'z'
s.dependency 'JSONKit'
end
-15
View File
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFNetworking'
s.version = '0.7.0'
s.summary = 'A delightful iOS networking library with NSOperations and block-based callbacks'
s.homepage = 'https://github.com/AFNetworking/AFNetworking'
s.author = {'Mattt Thompson' => 'm@mattt.me', 'Scott Raymond' => 'sco@gowalla.com'}
s.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '0.7.0' }
s.source_files = 'AFNetworking'
s.clean_paths = ['iOS Example', 'Mac Example', 'AFNetworking.xcworkspace']
s.library = 'z'
s.dependency 'JSONKit'
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFNetworking'
s.version = '0.9.0'
s.license = 'MIT'
s.summary = 'A delightful iOS and OS X networking framework'
s.homepage = 'https://github.com/AFNetworking/AFNetworking'
s.authors = {'Mattt Thompson' => 'm@mattt.me', 'Scott Raymond' => 'sco@gowalla.com'}
s.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '0.9.0' }
s.source_files = 'AFNetworking'
s.clean_paths = ['iOS Example', 'Mac Example', 'AFNetworking.xcworkspace']
s.framework = 'SystemConfiguration'
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFNetworking'
s.version = '0.9.1'
s.license = 'MIT'
s.summary = 'A delightful iOS and OS X networking framework'
s.homepage = 'https://github.com/AFNetworking/AFNetworking'
s.authors = {'Mattt Thompson' => 'm@mattt.me', 'Scott Raymond' => 'sco@gowalla.com'}
s.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '0.9.1' }
s.source_files = 'AFNetworking'
s.clean_paths = ['iOS Example', 'Mac Example', 'AFNetworking.xcworkspace']
s.framework = 'SystemConfiguration'
end
@@ -1,10 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AFOAuth2Client'
s.version = '0.0.1'
s.summary = 'AFNetworking Extension for OAuth 2 Authentication'
s.homepage = 'https://github.com/AFNetworking/AFOAuth2Client'
s.author = { 'Mattt Thompson' => 'm@mattt.me' }
s.source = { :git => 'https://github.com/AFNetworking/AFOAuth2Client.git',
:commit => '068c25f83b800451cf0b5ba0da7a6a018252c0a9' }
s.source_files = '*.{h,m}'
end
@@ -1,33 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ASIHTTPRequest'
s.version = '1.8.1'
s.summary = 'Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone.'
s.homepage = 'http://allseeing-i.com/ASIHTTPRequest'
s.author = { 'Ben Copsey' => 'ben@allseeing-i.com' }
s.source = { :git => 'https://github.com/pokeb/asi-http-request.git', :tag => 'v1.8.1' }
s.description = %{
ASIHTTPRequest is an easy to use wrapper around the CFNetwork API that
makes some of the more tedious aspects of communicating with web servers
easier. It is written in Objective-C and works in both Mac OS X and iPhone
applications.
It is suitable performing basic HTTP requests and interacting with
REST-based services (GET / POST / PUT / DELETE). The included
ASIFormDataRequest subclass makes it easy to submit POST data and files
using multipart/form-data.
}
s.clean_paths = '*Sample', 'External', '*.xcodeproj', 'Build Scripts'
if config.ios?
s.dependency 'Reachability' #, '~> 2.0', '>= 2.0.4'
s.source_files = 'Classes'
s.frameworks = 'MobileCoreServices', 'CFNetwork', 'CoreGraphics'
else
s.source_files = FileList['Classes/*.*'].exclude(/ASIAuthenticationDialog\.\w$/)
s.frameworks = 'SystemConfiguration', 'CoreServices'
end
s.library = 'z.1'
end
@@ -1,17 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ASIWebPageRequest'
s.version = '1.8.1'
s.homepage = 'http://allseeing-i.com/ASIHTTPRequest/ASIWebPageRequest'
s.author = { 'Ben Copsey' => 'ben@allseeing-i.com' }
s.summary = 'The ASIWebPageRequest class included with ASIHTTPRequest lets you ' \
'download complete webpages, including external resources like ' \
'images and stylesheets.'
s.part_of_dependency = 'ASIHTTPRequest', '1.8.1'
s.source_files = 'Classes/ASIWebPageRequest/*.m', 'Classes/ASIWebPageRequest/*.h'
s.library = 'xml2.2.7.3'
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
end
@@ -1,14 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ASStarRatingView'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = "ASStarRatingView is a control to rating with stars, it is simple to use and configurable"
s.homepage = 'https://github.com/bl0ckme/ASStarRatingView'
s.author = { 'Sam Yang' => 'yanguango@gmail.com' }
s.source = { :git => 'https://github.com/bl0ckme/ASStarRatingView.git', :tag => 'v0.1.0' }
s.description = "ASStarRatingView is a control to rating with stars, it is simple to use and configurable"
s.platform = :ios
s.source_files = 'ASStarRatingView/**/*.{h,m}'
s.resources = "ASStarRatingView/stars/*.png"
s.clean_path = "ASStarRatingViewDemo"
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ATMHud'
s.version = '0.0.1'
s.platform = :ios
s.summary = 'Library for the creation of HUDs in iPhone applications.'
s.homepage = 'https://github.com/atomton/ATMHud'
s.author = { 'Marcel Müller' => 'pool@atomton.net' }
s.source = { :git => 'git://github.com/atomton/ATMHud.git', :commit => 'fc79fed7268362c744de5470169db0a381866ad7' }
s.source_files = 'ATM*.{h,m}'
s.resources = '11-x.png', '19-check.png', 'pop.wav'
s.frameworks = 'QuartzCore', 'AudioToolbox'
end
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'AUIAnimatedText'
s.version = '0.0.1'
s.summary = 'A drop-in UILabel replacement that makes almost all properties animatable by using a CATextLayer instead of CALayer.'
s.homepage = 'https://github.com/adam-siton/AUIAnimatedText'
s.author = { 'Adam Siton'=> 'adamsiton@gmail.com' }
s.source = { :git => 'https://github.com/adam-siton/AUIAnimatedText.git' }
s.description = 'Properties animatable in AUIAnimatableText and not in UILabel: textColor, text, font, fontSize.'
s.platform = :ios
s.source_files = 'AUIAnimatedText/AUIAnimatedText/AUIAnimatableLabel.{h,m}', 'AUIAnimatedText/AUIAnimatedText/UIFont+CoreTextExtensions.{h,m}'
s.clean_paths =
'AUIAnimatedText/AUIAnimatedTextTests',
'AUIAnimatedText/AUIAnimatedText.xcodeproj',
'AUIAnimatedText/AUIAnimatedText/en.lproj',
'AUIAnimatedText/AUIAnimatedText/iPhone',
'AUIAnimatedText/AUIAnimatedText/AUIAnimatedText-Info.plist',
'AUIAnimatedText/AUIAnimatedText/AUIAnimatedText-Prefix.pch',
'AUIAnimatedText/AUIAnimatedText/AUIAnimatedTextAppDelegate.{h,m}',
'AUIAnimatedText/AUIAnimatedText/RootViewController.{h,m,xib}',
'AUIAnimatedText/AUIAnimatedText/main.m'
s.framework = 'CoreText', 'QuartzCore', 'CoreGraphics', 'UIKit'
end
-11
View File
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Appirater'
s.version = '0.0.1'
s.platform = :ios
s.summary = "A utility that reminds your iPhone app's users to review the app."
s.homepage = 'http://arashpayan.com/blog/2009/09/07/presenting-appirater/'
s.author = { 'Arash Payan' => 'arash.payan@gmail.com' }
s.source = { :git => 'git://github.com/arashpayan/appirater.git', :commit => '0f3776a47b17bd4f6cbee0ad02c9450869d26c42' }
s.source_files = '*.{h,m}'
s.frameworks = 'CFNetwork', 'SystemConfiguration'
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Appirater'
s.version = '0.0.2'
s.platform = :ios
s.summary = "A utility that reminds your iPhone app's users to review the app."
s.homepage = 'http://arashpayan.com/blog/2009/09/07/presenting-appirater/'
s.author = { 'Arash Payan' => 'arash.payan@gmail.com' }
s.source = { :git => 'git://github.com/mk/appirater.git', :tag => '0.0.2' }
s.source_files = '*.{h,m}'
s.frameworks = 'CFNetwork', 'SystemConfiguration'
s.resource = 'Appirater.bundle'
end
-28
View File
@@ -1,28 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BaseKit'
s.version = '0.1.0'
s.license = 'Apache 2'
s.summary = 'BaseKit is a set of IOS class to make your life easier.'
s.homepage = 'https://github.com/brunow/BaseKit'
s.author = { 'Bruno Wernimont' => 'bruno.wernimont+github@gmail.com' }
s.source = { :git => 'https://github.com/brunow/BaseKit.git', :tag => '0.1' }
s.description = 'BaseKit is a set of IOS class to make your life easier.'
s.platform = :ios
s.clean_paths = 'Examples', 'GHUnitIOS.framework', 'Test', 'Vendor', 'README.md', '.gitignore', 'BaseKit.xcodeproj'
s.subspec 'Core' do |core|
core.source_files = 'Code/Core/*.{h,m}'
end
s.subspec 'View' do |view|
view.source_files = 'Code/View/*.{h,m}'
view.dependency 'BaseKit/Core'
end
s.subspec 'CellMapping' do |cell_mapping|
cell_mapping.source_files = 'Code/CellMapping/*.{h,m}'
cell_mapping.dependency 'BaseKit/Core'
cell_mapping.dependency 'BaseKit/View'
end
end
-23
View File
@@ -1,23 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '0.5.0' # picked some version number as the project doesn't have one yet
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com'}
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :commit => '84b12bd081c71b17e56c133002eee8f8577e9a24' }
s.source_files = 'BlocksKit'
s.frameworks = 'MessageUI'
s.requires_arc = true
s.clean_paths = 'BlocksKit.xcodeproj/', 'GHUnitIOS.framework/', 'Tests/', '.gitignore'
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import <dispatch/dispatch.h>\n#import "BKGlobals.h"\n#endif})
end
end
end
-23
View File
@@ -1,23 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '0.9.0'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com'}
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v0.9' }
s.source_files = 'BlocksKit'
s.frameworks = 'MessageUI'
s.requires_arc = true
s.clean_paths = 'BlocksKit.xcodeproj/', 'GHUnitIOS.framework/', 'Tests/', '.gitignore'
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import <dispatch/dispatch.h>\n#import "BKGlobals.h"\n#endif})
end
end
end
-23
View File
@@ -1,23 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '0.9.5'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com'}
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v0.9.5' }
s.source_files = 'BlocksKit'
s.frameworks = 'MessageUI'
s.requires_arc = true
s.clean_paths = 'BlocksKit.xcodeproj/', 'GHUnitIOS.framework/', 'Tests/', '.gitignore'
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import <dispatch/dispatch.h>\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.0'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.0' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.1'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.1' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.2'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.2' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.3'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.3' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.4'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.4' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-22
View File
@@ -1,22 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.5'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.5' }
s.source_files = 'BlocksKit'
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
-24
View File
@@ -1,24 +0,0 @@
Pod::Spec.new do |s|
s.name = 'BlocksKit'
s.version = '1.0.6'
s.license = 'MIT'
s.summary = 'The Objective-C block utilities you always wish you had.'
s.homepage = 'https://github.com/zwaldowski/BlocksKit'
s.author = { 'Zachary Waldowski' => 'zwaldowski@gmail.com',
'Alexsander Akers' => 'a2@pandamonia.us' }
s.source = { :git => 'https://github.com/zwaldowski/BlocksKit.git', :tag => 'v1.0.6' }
s.dependency 'A2DynamicDelegate'
s.clean_paths = 'GHUnitIOS.framework/', 'Tests/', 'BlocksKit.xcodeproj/', '.gitignore'
if config.ios?
s.frameworks = 'MessageUI'
s.source_files = 'BlocksKit/*.{h,m}', 'BlocksKit/UIKit/*.{h,m}', 'BlocksKit/MessageUI/*.{h,m}'
else
s.source_files = 'BlocksKit/*.{h,m}'
end
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import "BlocksKit.h"\n#endif})
end
end
end
@@ -1,20 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CEPopupPickerView'
s.version = '0.1'
s.license = 'MIT'
s.summary = 'A UIPickerView that pops up, just like the Facebook app.'
s.homepage = 'https://github.com/chriseidhof/CEPopupPickerView'
s.author = { 'Chris Eidhof' => 'chris@eidhof.nl' }
s.source = { :git => 'https://github.com/chriseidhof/CEPopupPickerView.git', :tag => 'v0.1' }
s.platform = :ios
s.requires_arc = true
s.source_files = 'CEPopupPickerView/CEPopupPickerView.{h,m}'
s.clean_paths = '*.xcodeproj', '**/*.lproj', '**/*.plist', '*.xcworkspace',
'*Tests', 'Podfile', '**/*.pch',
"**/CEAppDelegate.*",
"**/CEViewController.{h,m}",
"**/main.m"
end
+216
View File
@@ -0,0 +1,216 @@
# Changelog
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.9">2.8.9</a>
#### 09/22/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/111">#111</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.8">2.8.8</a>
#### 09/19/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/110">#110</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.7">2.8.7</a>
#### 09/08/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/107">#107</a>.
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/106">#106</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.5">2.8.5</a>
#### 08/28/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/98">#98</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.4">2.8.4</a>
#### 08/27/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/97">#97</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.3">2.8.3</a>
#### 08/26/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/93">#93</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.2">2.8.2</a>
#### 08/26/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/96">#96</a>.
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/95">#95</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.1">2.8.1</a>
#### 08/22/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/issues/92">#92</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.8.0">2.8.0</a>
#### 08/14/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/90">#90</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.7.4">2.7.4</a>
#### 08/14/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/89">#89</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.7.3">2.7.3</a>
#### 08/07/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/83">#83</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.7.2">2.7.2</a>
#### 08/04/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/78">#78</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.7.1">2.7.1</a>
#### 08/04/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/77">#77</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.7.0">2.7.0</a>
#### 08/02/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/76">#76</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.6.3">2.6.3</a>
#### 07/31/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/75">#75</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.6.2">2.6.2</a>
#### 07/25/14
- Added new controller (JBAreaChartViewController) to demonstrate area charts.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.6.1">2.6.1</a>
#### 07/25/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/74">#74</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.6.0">2.6.0</a>
#### 07/24/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/71">#71</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.5">2.5.5</a>
#### 05/13/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/57">#57</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.4">2.5.4</a>
#### 05/07/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/53">#53</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.3">2.5.3</a>
#### 05/06/14
- More compiler warning fixes.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.2">2.5.2</a>
#### 05/06/14
- Fixed compiler warnings.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.1">2.5.1</a>
#### 05/05/14
- Additional fixes to issue <a href="https://github.com/Jawbone/JBChartView/pull/48">#48</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.5.0">2.5.0</a>
#### 05/04/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/48">#48</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.4.3">2.4.3</a>
#### 05/04/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/49">#49</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.4.2">2.4.2</a>
#### 04/30/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/46">#46</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.4.1">2.4.1</a>
#### 04/30/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/45">#45</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.4.0">2.4.0</a>
#### 04/28/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/23">#23</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.3.0">2.3.0</a>
#### 04/17/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/34">#34</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.2.0">2.2.0</a>
#### 04/14/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/37">#37</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.6">2.1.6</a>
#### 04/11/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/33">#33</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.5">2.1.5</a>
#### 04/10/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/30">#30</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.4">2.1.4</a>
#### 04/10/14
- Added ability to specify a radius for dotted lines.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.3">2.1.3</a>
#### 04/03/14
- Added the ability to force a chart's state.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.2">2.1.2</a>
#### 04/02/14
- Added dynamic padding to JBLineChartView (based on max line width).
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.1">2.1.1</a>
#### 04/02/14
- Fixed minimumValue and maximumValue getter functions.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.1.0">2.1.0</a>
#### 03/30/14
- Added minimumValue and maximumValue properties.
- Changed default min value implementation from 0 to chart's actual minimum value.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.0.2">2.0.2</a>
#### 03/27/14
- Added the ability to add point dots for lines in JBLineChartView.
- Streamlined line styling.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.0.1">2.0.1</a>
#### 03/19/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/22">#22</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v2.0.0">2.0.0</a>
#### 03/18/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/21">#21</a>.
- Added multi-line support for JBLineChartView.
- Added position delegation on touch events.
- Added tooltip views (demo-only).
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.6">1.1.6</a>
#### 03/02/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/15">#15</a>.
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/14">#14</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.5">1.1.5</a>
#### 02/11/14
- Chart selection improvements.
- Animation performance improvements.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.4">1.1.4</a>
#### 02/06/14
- Fixed compilation warnings.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.3">1.1.3</a>
#### 01/06/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/11">#11</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.2">1.1.2</a>
#### 01/03/14
- Added CGFloat support for chart heights intead of integers.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.1">1.1.1</a>
#### 01/02/14
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/7">#7</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.1.0">1.1.0</a>
#### 12/26/13
- Updated JBBarChartView datasource to request UIView subclasses for bars.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.0.3">1.0.3</a>
#### 12/23/13
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/4">#4</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.0.2">1.0.2</a>
#### 12/17/13
- Additional fixes for issue <a href="https://github.com/Jawbone/JBChartView/pull/2">#2</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.0.1">1.0.1</a>
#### (12/14/13)
- Fixes issue <a href="https://github.com/Jawbone/JBChartView/pull/2">#2</a>.
## <a href="https://github.com/Jawbone/JBChartView/tree/v1.0">1.0</a>
#### 12/10/13
- Initial public release.
- Base line and bar charts.
- Basic customization; color, positioning, selections.
-13
View File
@@ -1,13 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CMPopTipView'
s.version = '0.0.1'
s.license = 'MIT'
s.summary = 'Custom UIView for iOS that pops up an animated "bubble" pointing at a button or other view. Useful for popup tips.'
s.homepage = 'https://github.com/chrismiles/CMPopTipView'
s.author = { 'Chris Miles' => 'http://chrismiles.info/' }
s.source = { :git => 'https://github.com/chrismiles/CMPopTipView.git', :commit => '92e85f47c565e25063d95959edcf1fd4db700a34' }
s.platform = :ios
s.source_files = 'CMPopTipView/*.{h,m}'
s.framework = 'UIKit'
s.clean_path = "Demo"
end
+139
View File
@@ -0,0 +1,139 @@
//
// JBBarChartView.h
// JBChartView
//
// Created by Terry Worona on 9/3/13.
// Copyright (c) 2013 Jawbone. All rights reserved.
//
// Views
#import "JBChartView.h"
@class JBBarChartView;
@protocol JBBarChartViewDataSource <JBChartViewDataSource>
@required
/**
* The number of bars in a given bar chart is the number of vertical views shown along the x-axis.
*
* @param barChartView The bar chart object requesting this information.
*
* @return Number of bars in the given chart, displayed horizontally along the chart's x-axis.
*/
- (NSUInteger)numberOfBarsInBarChartView:(JBBarChartView *)barChartView;
@optional
/**
* A UIView subclass representing the bar at a particular index.
*
* Default: solid black UIView.
*
* @param barChartView The bar chart object requesting this information.
* @param index The 0-based index of a given bar (left to right, x-axis).
*
* @return A UIView subclass. The view will automatically be resized by the chart during creation (ie. no need to set the frame).
*/
- (UIView *)barChartView:(JBBarChartView *)barChartView barViewAtIndex:(NSUInteger)index;
@end
@protocol JBBarChartViewDelegate <JBChartViewDelegate>
@required
/**
* Height for a bar at a given index (left to right). There is no ceiling on the the height;
* the chart will automatically normalize all values between the overal min and max heights.
*
* @param barChartView The bar chart object requesting this information.
* @param index The 0-based index of a given bar (left to right, x-axis).
*
* @return The y-axis height of the supplied bar index (x-axis)
*/
- (CGFloat)barChartView:(JBBarChartView *)barChartView heightForBarViewAtIndex:(NSUInteger)index;
@optional
/**
* Occurs when a touch gesture event occurs on a given bar (chart must be expanded).
* and the selection must occur within the bounds of the chart.
*
* @param barChartView A bar chart object informing the delegate about the new selection.
* @param index The 0-based index of a given bar (left to right, x-axis).
* @param touchPoint The touch point in relation to the chart's bounds (excludes footer and header).
*/
- (void)barChartView:(JBBarChartView *)barChartView didSelectBarAtIndex:(NSUInteger)index touchPoint:(CGPoint)touchPoint;
- (void)barChartView:(JBBarChartView *)barChartView didSelectBarAtIndex:(NSUInteger)index;
/**
* Occurs when selection ends by either ending a touch event or selecting an area that is outside the view's bounds.
* For selection start events, see: didSelectBarAtIndex...
*
* @param barChartView A bar chart object informing the delegate about the deselection.
*/
- (void)didDeselectBarChartView:(JBBarChartView *)barChartView;
/**
* If you already implement barChartView:barViewAtIndex: delegate - this method has no effect.
* If a custom UIView isn't supplied, a flat bar will be made automatically (default color black).
*
* Default: if none specified - calls barChartView:barViewAtIndex:.
*
* @param barChartView The bar chart object requesting this information.
* @param index The 0-based index of a given bar (left to right, x-axis).
*
* @return The color to be used to color a bar in the chart.
*/
- (UIColor *)barChartView:(JBBarChartView *)barChartView colorForBarViewAtIndex:(NSUInteger)index;
/**
* The selection color to be overlayed on a bar during touch events.
* The color is automatically faded to transparent (vertically). The property showsVerticalSelection
* must be YES for the color to apply.
*
* Default: white color (faded to transparent).
*
* @param barChartView The bar chart object requesting this information.
*
* @return The color to be used on each bar selection.
*/
- (UIColor *)barSelectionColorForBarChartView:(JBBarChartView *)barChartView;
/**
* Horizontal padding between bars.
*
* Default: 'best-guess' algorithm based on the the total number of bars and width of the chart.
*
* @param barChartView The bar chart object requesting this information.
*
* @return Horizontal width (in pixels) between each bar.
*/
- (CGFloat)barPaddingForBarChartView:(JBBarChartView *)barChartView;
@end
@interface JBBarChartView : JBChartView
@property (nonatomic, weak) id<JBBarChartViewDataSource> dataSource;
@property (nonatomic, weak) id<JBBarChartViewDelegate> delegate;
/**
* Vertical highlight overlayed on bar during touch events.
*
* Default: YES.
*/
@property (nonatomic, assign) BOOL showsVerticalSelection;
/*
* Bars can be (vertically) positoned top to bottom instead of bottom up.
* If this property is set to YES, both the bar and the selection view will be inverted.
* For the inverted orientation to take effect, reloadData must be called.
*
* Default: NO.
*/
@property (nonatomic, assign, getter=isInverted) BOOL inverted;
@end
+635
View File
@@ -0,0 +1,635 @@
//
// JBBarChartView.m
// Nudge
//
// Created by Terry Worona on 9/3/13.
// Copyright (c) 2013 Jawbone. All rights reserved.
//
#import "JBBarChartView.h"
// Numerics
CGFloat static const kJBBarChartViewBarBasePaddingMutliplier = 50.0f;
CGFloat static const kJBBarChartViewUndefinedCachedHeight = -1.0f;
CGFloat static const kJBBarChartViewStateAnimationDuration = 0.05f;
CGFloat static const kJBBarChartViewStatePopOffset = 10.0f;
NSInteger static const kJBBarChartViewUndefinedBarIndex = -1;
// Colors (JBChartView)
static UIColor *kJBBarChartViewDefaultBarColor = nil;
@interface JBChartView (Private)
- (BOOL)hasMaximumValue;
- (BOOL)hasMinimumValue;
@end
@interface JBBarChartView ()
@property (nonatomic, strong) NSDictionary *chartDataDictionary; // key = column, value = height
@property (nonatomic, strong) NSArray *barViews;
@property (nonatomic, strong) NSArray *cachedBarViewHeights;
@property (nonatomic, assign) CGFloat barPadding;
@property (nonatomic, assign) CGFloat cachedMaxHeight;
@property (nonatomic, assign) CGFloat cachedMinHeight;
@property (nonatomic, strong) JBChartVerticalSelectionView *verticalSelectionView;
@property (nonatomic, assign) BOOL verticalSelectionViewVisible;
// Initialization
- (void)construct;
// View quick accessors
- (CGFloat)availableHeight;
- (CGFloat)normalizedHeightForRawHeight:(NSNumber*)rawHeight;
- (CGFloat)barWidth;
// Touch helpers
- (NSInteger)barViewIndexForPoint:(CGPoint)point;
- (UIView *)barViewForForPoint:(CGPoint)point;
- (void)touchesBeganOrMovedWithTouches:(NSSet *)touches;
- (void)touchesEndedOrCancelledWithTouches:(NSSet *)touches;
// Setters
- (void)setVerticalSelectionViewVisible:(BOOL)verticalSelectionViewVisible animated:(BOOL)animated;
@end
@implementation JBBarChartView
#pragma mark - Alloc/Init
+ (void)initialize
{
if (self == [JBBarChartView class])
{
kJBBarChartViewDefaultBarColor = [UIColor blackColor];
}
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self)
{
[self construct];
}
return self;
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
[self construct];
}
return self;
}
- (id)init
{
self = [super init];
if (self)
{
[self construct];
}
return self;
}
- (void)construct
{
_showsVerticalSelection = YES;
_cachedMinHeight = kJBBarChartViewUndefinedCachedHeight;
_cachedMaxHeight = kJBBarChartViewUndefinedCachedHeight;
}
#pragma mark - Memory Management
- (void)dealloc
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}
#pragma mark - Data
- (void)reloadData
{
// reset cached max height
self.cachedMinHeight = kJBBarChartViewUndefinedCachedHeight;
self.cachedMaxHeight = kJBBarChartViewUndefinedCachedHeight;
/*
* The data collection holds all position information:
* constructed via datasource and delegate functions
*/
dispatch_block_t createDataDictionaries = ^{
// Grab the count
NSAssert([self.dataSource respondsToSelector:@selector(numberOfBarsInBarChartView:)], @"JBBarChartView // datasource must implement - (NSUInteger)numberOfBarsInBarChartView:(JBBarChartView *)barChartView");
NSUInteger dataCount = [self.dataSource numberOfBarsInBarChartView:self];
// Build up the data collection
NSAssert([self.delegate respondsToSelector:@selector(barChartView:heightForBarViewAtIndex:)], @"JBBarChartView // delegate must implement - (CGFloat)barChartView:(JBBarChartView *)barChartView heightForBarViewAtIndex:(NSUInteger)index");
NSMutableDictionary *dataDictionary = [NSMutableDictionary dictionary];
for (NSUInteger index=0; index<dataCount; index++)
{
CGFloat height = [self.delegate barChartView:self heightForBarViewAtIndex:index];
NSAssert(height >= 0, @"JBBarChartView // datasource function - (CGFloat)barChartView:(JBBarChartView *)barChartView heightForBarViewAtIndex:(NSUInteger)index must return a CGFloat >= 0");
[dataDictionary setObject:[NSNumber numberWithFloat:height] forKey:[NSNumber numberWithInt:(int)index]];
}
self.chartDataDictionary = [NSDictionary dictionaryWithDictionary:dataDictionary];
};
/*
* Determines the padding between bars as a function of # of bars
*/
dispatch_block_t createBarPadding = ^{
if ([self.delegate respondsToSelector:@selector(barPaddingForBarChartView:)])
{
self.barPadding = [self.delegate barPaddingForBarChartView:self];
}
else
{
NSUInteger totalBars = [[self.chartDataDictionary allKeys] count];
self.barPadding = (1/(float)totalBars) * kJBBarChartViewBarBasePaddingMutliplier;
}
};
/*
* Creates a new bar graph view using the previously calculated data model
*/
dispatch_block_t createBars = ^{
// Remove old bars
for (UIView *barView in self.barViews)
{
[barView removeFromSuperview];
}
self.cachedBarViewHeights = nil;
CGFloat xOffset = 0;
NSUInteger index = 0;
NSMutableArray *mutableBarViews = [NSMutableArray array];
NSMutableArray *mutableCachedBarViewHeights = [NSMutableArray array];
for (NSNumber *key in [[self.chartDataDictionary allKeys] sortedArrayUsingSelector:@selector(compare:)])
{
UIView *barView = nil; // since all bars are visible at once, no need to cache this view
if ([self.dataSource respondsToSelector:@selector(barChartView:barViewAtIndex:)])
{
barView = [self.dataSource barChartView:self barViewAtIndex:index];
NSAssert(barView != nil, @"JBBarChartView // datasource function - (UIView *)barChartView:(JBBarChartView *)barChartView barViewAtIndex:(NSUInteger)index must return a non-nil UIView subclass");
}
else
{
barView = [[UIView alloc] init];
UIColor *backgroundColor = nil;
if ([self.delegate respondsToSelector:@selector(barChartView:colorForBarViewAtIndex:)])
{
backgroundColor = [self.delegate barChartView:self colorForBarViewAtIndex:index];
NSAssert(backgroundColor != nil, @"JBBarChartView // delegate function - (UIColor *)barChartView:(JBBarChartView *)barChartView colorForBarViewAtIndex:(NSUInteger)index must return a non-nil UIColor");
}
else
{
backgroundColor = kJBBarChartViewDefaultBarColor;
}
barView.backgroundColor = backgroundColor;
}
barView.tag = index;
CGFloat height = [self normalizedHeightForRawHeight:[self.chartDataDictionary objectForKey:key]];
barView.frame = CGRectMake(xOffset, self.bounds.size.height - height - self.footerView.frame.size.height, [self barWidth], height);
[mutableBarViews addObject:barView];
[mutableCachedBarViewHeights addObject:[NSNumber numberWithFloat:height]];
// Add new bar
if (self.footerView)
{
[self insertSubview:barView belowSubview:self.footerView];
}
else
{
[self addSubview:barView];
}
xOffset += ([self barWidth] + self.barPadding);
index++;
}
self.barViews = [NSArray arrayWithArray:mutableBarViews];
self.cachedBarViewHeights = [NSArray arrayWithArray:mutableCachedBarViewHeights];
};
/*
* Creates a vertical selection view for touch events
*/
dispatch_block_t createSelectionView = ^{
// Remove old selection bar
if (self.verticalSelectionView)
{
[self.verticalSelectionView removeFromSuperview];
self.verticalSelectionView = nil;
}
CGFloat verticalSelectionViewHeight = self.bounds.size.height - self.headerView.frame.size.height - self.footerView.frame.size.height - self.headerPadding - self.footerPadding;
if ([self.dataSource respondsToSelector:@selector(shouldExtendSelectionViewIntoHeaderPaddingForChartView:)])
{
if ([self.dataSource shouldExtendSelectionViewIntoHeaderPaddingForChartView:self])
{
verticalSelectionViewHeight += self.headerPadding;
}
}
if ([self.dataSource respondsToSelector:@selector(shouldExtendSelectionViewIntoFooterPaddingForChartView:)])
{
if ([self.dataSource shouldExtendSelectionViewIntoFooterPaddingForChartView:self])
{
verticalSelectionViewHeight += self.footerPadding;
}
}
self.verticalSelectionView = [[JBChartVerticalSelectionView alloc] initWithFrame:CGRectMake(0, 0, [self barWidth], verticalSelectionViewHeight)];
self.verticalSelectionView.alpha = 0.0;
self.verticalSelectionView.hidden = !self.showsVerticalSelection;
if ([self.delegate respondsToSelector:@selector(barSelectionColorForBarChartView:)])
{
UIColor *selectionViewBackgroundColor = [self.delegate barSelectionColorForBarChartView:self];
NSAssert(selectionViewBackgroundColor != nil, @"JBBarChartView // delegate function - (UIColor *)barSelectionColorForBarChartView:(JBBarChartView *)barChartView must return a non-nil UIColor");
self.verticalSelectionView.bgColor = selectionViewBackgroundColor;
}
// Add new selection bar
if (self.footerView)
{
[self insertSubview:self.verticalSelectionView belowSubview:self.footerView];
}
else
{
[self addSubview:self.verticalSelectionView];
}
self.verticalSelectionView.transform = self.inverted ? CGAffineTransformMakeScale(1.0, -1.0) : CGAffineTransformIdentity;
};
createDataDictionaries();
createBarPadding();
createBars();
createSelectionView();
// Position header and footer
self.headerView.frame = CGRectMake(self.bounds.origin.x, self.bounds.origin.y, self.bounds.size.width, self.headerView.frame.size.height);
self.footerView.frame = CGRectMake(self.bounds.origin.x, self.bounds.size.height - self.footerView.frame.size.height, self.bounds.size.width, self.footerView.frame.size.height);
// Refresh state
[self setState:self.state animated:NO force:YES callback:nil];
}
#pragma mark - View Quick Accessors
- (CGFloat)availableHeight
{
return self.bounds.size.height - self.headerView.frame.size.height - self.footerView.frame.size.height - self.headerPadding - self.footerPadding;
}
- (CGFloat)normalizedHeightForRawHeight:(NSNumber*)rawHeight
{
CGFloat minHeight = [self minimumValue];
CGFloat maxHeight = [self maximumValue];
CGFloat value = [rawHeight floatValue];
if ((maxHeight - minHeight) <= 0)
{
return 0;
}
return ((value - minHeight) / (maxHeight - minHeight)) * [self availableHeight];
}
- (CGFloat)barWidth
{
NSUInteger barCount = [[self.chartDataDictionary allKeys] count];
if (barCount > 0)
{
CGFloat totalPadding = (barCount - 1) * self.barPadding;
CGFloat availableWidth = self.bounds.size.width - totalPadding;
return availableWidth / barCount;
}
return 0;
}
#pragma mark - Setters
- (void)setState:(JBChartViewState)state animated:(BOOL)animated force:(BOOL)force callback:(void (^)())callback
{
[super setState:state animated:animated force:force callback:callback];
__weak JBBarChartView* weakSelf = self;
void (^updateBarView)(UIView *barView, BOOL popBar);
updateBarView = ^(UIView *barView, BOOL popBar) {
if (weakSelf.inverted)
{
if (weakSelf.state == JBChartViewStateExpanded)
{
if (popBar)
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.headerView.frame.size.height + weakSelf.headerPadding, barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] + kJBBarChartViewStatePopOffset);
}
else
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.headerView.frame.size.height + weakSelf.headerPadding, barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue]);
}
}
else if (weakSelf.state == JBChartViewStateCollapsed)
{
if (popBar)
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.headerView.frame.size.height + weakSelf.headerPadding, barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] + kJBBarChartViewStatePopOffset);
}
else
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.headerView.frame.size.height + weakSelf.headerPadding, barView.frame.size.width, 0.0f);
}
}
}
else
{
if (weakSelf.state == JBChartViewStateExpanded)
{
if (popBar)
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.bounds.size.height - weakSelf.footerView.frame.size.height - weakSelf.footerPadding - [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] - kJBBarChartViewStatePopOffset, barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] + kJBBarChartViewStatePopOffset);
}
else
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.bounds.size.height - weakSelf.footerView.frame.size.height - weakSelf.footerPadding - [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue], barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue]);
}
}
else if (weakSelf.state == JBChartViewStateCollapsed)
{
if (popBar)
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.bounds.size.height - weakSelf.footerView.frame.size.height - weakSelf.footerPadding - [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] - kJBBarChartViewStatePopOffset, barView.frame.size.width, [[weakSelf.cachedBarViewHeights objectAtIndex:barView.tag] floatValue] + kJBBarChartViewStatePopOffset);
}
else
{
barView.frame = CGRectMake(barView.frame.origin.x, weakSelf.bounds.size.height, barView.frame.size.width, 0.0f);
}
}
}
};
dispatch_block_t callbackCopy = [callback copy];
if ([self.barViews count] > 0)
{
if (animated)
{
NSUInteger index = 0;
for (UIView *barView in self.barViews)
{
[UIView animateWithDuration:kJBBarChartViewStateAnimationDuration delay:(kJBBarChartViewStateAnimationDuration * 0.5) * index options:UIViewAnimationOptionBeginFromCurrentState animations:^{
updateBarView(barView, YES);
} completion:^(BOOL finished) {
[UIView animateWithDuration:kJBBarChartViewStateAnimationDuration delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
updateBarView(barView, NO);
} completion:^(BOOL lastBarFinished) {
if ((NSUInteger)barView.tag == [self.barViews count] - 1)
{
if (callbackCopy)
{
callbackCopy();
}
}
}];
}];
index++;
}
}
else
{
for (UIView *barView in self.barViews)
{
updateBarView(barView, NO);
}
if (callbackCopy)
{
callbackCopy();
}
}
}
else
{
if (callbackCopy)
{
callbackCopy();
}
}
}
- (void)setState:(JBChartViewState)state animated:(BOOL)animated callback:(void (^)())callback
{
[self setState:state animated:animated force:NO callback:callback];
}
#pragma mark - Getters
- (CGFloat)cachedMinHeight
{
if(_cachedMinHeight == kJBBarChartViewUndefinedCachedHeight)
{
NSArray *chartValues = [[NSMutableArray arrayWithArray:[self.chartDataDictionary allValues]] sortedArrayUsingSelector:@selector(compare:)];
_cachedMinHeight = [[chartValues firstObject] floatValue];
}
return _cachedMinHeight;
}
- (CGFloat)cachedMaxHeight
{
if (_cachedMaxHeight == kJBBarChartViewUndefinedCachedHeight)
{
NSArray *chartValues = [[NSMutableArray arrayWithArray:[self.chartDataDictionary allValues]] sortedArrayUsingSelector:@selector(compare:)];
_cachedMaxHeight = [[chartValues lastObject] floatValue];
}
return _cachedMaxHeight;
}
- (CGFloat)minimumValue
{
if ([self hasMinimumValue])
{
return fminf(self.cachedMinHeight, [super minimumValue]);
}
return self.cachedMinHeight;
}
- (CGFloat)maximumValue
{
if ([self hasMaximumValue])
{
return fmaxf(self.cachedMaxHeight, [super maximumValue]);
}
return self.cachedMaxHeight;
}
#pragma mark - Touch Helpers
- (NSInteger)barViewIndexForPoint:(CGPoint)point
{
NSUInteger index = 0;
NSUInteger selectedIndex = kJBBarChartViewUndefinedBarIndex;
if (point.x < 0 || point.x > self.bounds.size.width)
{
return selectedIndex;
}
CGFloat padding = ceil(self.barPadding * 0.5);
for (UIView *barView in self.barViews)
{
CGFloat minX = CGRectGetMinX(barView.frame) - padding;
CGFloat maxX = CGRectGetMaxX(barView.frame) + padding;
if ((point.x >= minX) && (point.x <= maxX))
{
selectedIndex = index;
break;
}
index++;
}
return selectedIndex;
}
- (UIView *)barViewForForPoint:(CGPoint)point
{
UIView *barView = nil;
NSInteger selectedIndex = [self barViewIndexForPoint:point];
if (selectedIndex >= 0)
{
return [self.barViews objectAtIndex:[self barViewIndexForPoint:point]];
}
return barView;
}
- (void)touchesBeganOrMovedWithTouches:(NSSet *)touches
{
if (self.state == JBChartViewStateCollapsed || [[self.chartDataDictionary allKeys] count] <= 0)
{
return;
}
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self];
UIView *barView = [self barViewForForPoint:touchPoint];
if (barView == nil)
{
[self setVerticalSelectionViewVisible:NO animated:YES];
return;
}
CGRect barViewFrame = barView.frame;
CGRect selectionViewFrame = self.verticalSelectionView.frame;
selectionViewFrame.origin.x = barViewFrame.origin.x;
selectionViewFrame.size.width = barViewFrame.size.width;
if ([self.dataSource respondsToSelector:@selector(shouldExtendSelectionViewIntoHeaderPaddingForChartView:)])
{
if ([self.dataSource shouldExtendSelectionViewIntoHeaderPaddingForChartView:self])
{
selectionViewFrame.origin.y = self.headerView.frame.size.height;
}
else
{
selectionViewFrame.origin.y = self.headerView.frame.size.height + self.headerPadding;
}
}
else
{
selectionViewFrame.origin.y = self.headerView.frame.size.height + self.headerPadding;
}
self.verticalSelectionView.frame = selectionViewFrame;
[self setVerticalSelectionViewVisible:YES animated:YES];
if ([self.delegate respondsToSelector:@selector(barChartView:didSelectBarAtIndex:touchPoint:)])
{
[self.delegate barChartView:self didSelectBarAtIndex:[self barViewIndexForPoint:touchPoint] touchPoint:touchPoint];
}
if ([self.delegate respondsToSelector:@selector(barChartView:didSelectBarAtIndex:)])
{
[self.delegate barChartView:self didSelectBarAtIndex:[self barViewIndexForPoint:touchPoint]];
}
}
- (void)touchesEndedOrCancelledWithTouches:(NSSet *)touches
{
if (self.state == JBChartViewStateCollapsed || [[self.chartDataDictionary allKeys] count] <= 0)
{
return;
}
[self setVerticalSelectionViewVisible:NO animated:YES];
if ([self.delegate respondsToSelector:@selector(didDeselectBarChartView:)])
{
[self.delegate didDeselectBarChartView:self];
}
}
#pragma mark - Setters
- (void)setVerticalSelectionViewVisible:(BOOL)verticalSelectionViewVisible animated:(BOOL)animated
{
_verticalSelectionViewVisible = verticalSelectionViewVisible;
if (animated)
{
[UIView animateWithDuration:kJBChartViewDefaultAnimationDuration delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
self.verticalSelectionView.alpha = self.verticalSelectionViewVisible ? 1.0 : 0.0;
} completion:nil];
}
else
{
self.verticalSelectionView.alpha = _verticalSelectionViewVisible ? 1.0 : 0.0;
}
}
- (void)setVerticalSelectionViewVisible:(BOOL)verticalSelectionViewVisible
{
[self setVerticalSelectionViewVisible:verticalSelectionViewVisible animated:NO];
}
- (void)setShowsVerticalSelection:(BOOL)showsVerticalSelection
{
_showsVerticalSelection = showsVerticalSelection;
self.verticalSelectionView.hidden = _showsVerticalSelection ? NO : YES;
}
#pragma mark - Touches
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesBeganOrMovedWithTouches:touches];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesBeganOrMovedWithTouches:touches];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesEndedOrCancelledWithTouches:touches];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[self touchesEndedOrCancelledWithTouches:touches];
}
@end
+169
View File
@@ -0,0 +1,169 @@
//
// JBChartView.h
// JBChartView
//
// Created by Terry Worona on 9/4/13.
// Copyright (c) 2013 Jawbone. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
extern CGFloat const kJBChartViewDefaultAnimationDuration;
@class JBChartView;
/**
* At a minimum, a chart can support two states, along with animations to-and-from.
*/
typedef NS_ENUM(NSInteger, JBChartViewState){
/**
* Expanded state: chart supports touches, interaction, etc.
*/
JBChartViewStateExpanded,
/**
* Collapse state: chart is more-or-less disabled at this point.
*/
JBChartViewStateCollapsed
};
@protocol JBChartViewDataSource <NSObject>
@optional
/**
* Returns whether or not the chart's selection view should extend into the header padding.
*
* Default: NO
*
* @param chartView The chart object requesting this information.
*
* @return Whether or not a chart's selection view should extend into the header padding.
*/
- (BOOL)shouldExtendSelectionViewIntoHeaderPaddingForChartView:(JBChartView *)chartView;
/**
* Returns whether or not the chart's selection view should extend into the footer padding.
*
* Default: NO
*
* @param chartView The chart object requesting this information.
*
* @return Whether or not a chart's selection view should extend into the footer padding.
*/
- (BOOL)shouldExtendSelectionViewIntoFooterPaddingForChartView:(JBChartView *)chartView;
@end
@protocol JBChartViewDelegate <NSObject>
// Extend (via subclass) to add custom functionality
@end
@interface JBChartView : UIView
/*
* Base dataSource and delegate protocols.
*/
@property (nonatomic, weak) id<JBChartViewDataSource> dataSource;
@property (nonatomic, weak) id<JBChartViewDelegate> delegate;
/**
* Header and footer views are shown above and below the chart respectively.
* Each view will be stretched horizontally to fill width of chart.
* Each view's bounds are clipped to support chart state animations.
*/
@property (nonatomic, strong) UIView *footerView;
@property (nonatomic, strong) UIView *headerView;
/**
* The vertical padding between the header and highest chart point (bar, line, etc).
* By default, the selection view will extend into the header padding area. To modify this behaviour,
* implement the dataSource protocol - (BOOL)shouldExtendSelectionViewIntoHeaderPaddingForChartView:(JBChartView *)chartView.
*/
@property (nonatomic, assign) CGFloat headerPadding;
/**
* The vertical padding between the footer and lowest chart point (bar, line, etc).
* By default, the selection view will extend into the footer padding area. To modify this behaviour,
* implement the dataSource protocol - (BOOL)shouldExtendSelectionViewIntoFooterPaddingForChartView:(JBChartView *)chartView.
*/
@property (nonatomic, assign) CGFloat footerPadding;
/**
* The minimum and maxmimum values of the chart.
* If no value(s) are supplied:
*
* minimumValue = chart's data source min value.
* maxmimumValue = chart's data source max value.
*
* If value(s) are supplied, they must be >= 0, otherwise an assertion will be thrown.
* The min/max values are clamped to the ceiling and floor of the actual min/max values of the chart's data source;
* for example, if a maximumValue of 20 is supplied & the chart's actual max is 100, then 100 will be used.
*
* For min/max modifications to take effect, reloadData must be called.
*/
@property (nonatomic, assign) CGFloat minimumValue;
@property (nonatomic, assign) CGFloat maximumValue;
// reset to default (chart's data source min & max value)
- (void)resetMinimumValue;
- (void)resetMaximumValue;
/**
* Charts can either be expanded or contracted.
* By default, a chart should be expanded on initialization.
*/
@property (nonatomic, assign) JBChartViewState state;
/**
* Acts similiar to a UITableView's reloadData function.
* The entire chart will be torn down and re-constructed via datasource and delegate protocls.
*/
- (void)reloadData;
/**
* State setter.
*
* @param state Either collapse or expanded.
* @param animated Whether or not the state should be animated or not.
* @param force If current state == new state, then setting force to YES will re-configure the chart (default NO).
* @param callback Called once the animation is completed. If animated == NO, then callback is immediate.
*/
- (void)setState:(JBChartViewState)state animated:(BOOL)animated force:(BOOL)force callback:(void (^)())callback;
/**
* State setter.
*
* @param state Either collapse or expanded.
* @param animated Whether or not the state should be animated or not.
* @param callback Called once the animation is completed. If animated == NO, then callback is immediate.
*/
- (void)setState:(JBChartViewState)state animated:(BOOL)animated callback:(void (^)())callback;
/**
* State setter.
*
* @param state Either collapse or expanded.
* @param animated Whether or not the state should be animated or not.
*/
- (void)setState:(JBChartViewState)state animated:(BOOL)animated;
@end
/**
* A simple UIView subclass that fades a base color from current alpha to 0.0 (vertically).
* Used as a vertical selection view in JBChartView subclasses.
*/
@interface JBChartVerticalSelectionView : UIView
/**
* Base selection view color. This color will be faded to transparent vertically.
*
* Default: white color.
*
*/
@property (nonatomic, strong) UIColor *bgColor;
@end
+246
View File
@@ -0,0 +1,246 @@
//
// JBChartView.m
// Nudge
//
// Created by Terry Worona on 9/4/13.
// Copyright (c) 2013 Jawbone. All rights reserved.
//
#import "JBChartView.h"
// Numerics
CGFloat const kJBChartViewDefaultAnimationDuration = 0.25f;
// Color (JBChartSelectionView)
static UIColor *kJBChartVerticalSelectionViewDefaultBgColor = nil;
@interface JBChartView ()
@property (nonatomic, assign) BOOL hasMaximumValue;
@property (nonatomic, assign) BOOL hasMinimumValue;
// Construction
- (void)constructChartView;
// Validation
- (void)validateHeaderAndFooterHeights;
@end
@implementation JBChartView
#pragma mark - Alloc/Init
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self)
{
[self constructChartView];
}
return self;
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
[self constructChartView];
}
return self;
}
- (id)init
{
return [self initWithFrame:CGRectZero];
}
#pragma mark - Construction
- (void)constructChartView
{
self.clipsToBounds = YES;
}
#pragma mark - Public
- (void)reloadData
{
// Override
}
#pragma mark - Validation
- (void)validateHeaderAndFooterHeights
{
NSAssert((self.headerView.bounds.size.height + self.footerView.bounds.size.height) <= self.bounds.size.height, @"JBChartView // the combined height of the footer and header can not be greater than the total height of the chart.");
}
#pragma mark - Setters
- (void)setHeaderView:(UIView *)headerView
{
if (_headerView)
{
[_headerView removeFromSuperview];
_headerView = nil;
}
_headerView = headerView;
_headerView.clipsToBounds = YES;
[self validateHeaderAndFooterHeights];
[self addSubview:_headerView];
[self reloadData];
}
- (void)setFooterView:(UIView *)footerView
{
if (_footerView)
{
[_footerView removeFromSuperview];
_footerView = nil;
}
_footerView = footerView;
_footerView.clipsToBounds = YES;
[self validateHeaderAndFooterHeights];
[self addSubview:_footerView];
[self reloadData];
}
- (void)setState:(JBChartViewState)state animated:(BOOL)animated force:(BOOL)force callback:(void (^)())callback
{
if ((_state == state) && !force)
{
return;
}
_state = state;
// Override
}
- (void)setState:(JBChartViewState)state animated:(BOOL)animated callback:(void (^)())callback
{
[self setState:state animated:animated force:NO callback:callback];
}
- (void)setState:(JBChartViewState)state animated:(BOOL)animated
{
[self setState:state animated:animated callback:nil];
}
- (void)setState:(JBChartViewState)state
{
[self setState:state animated:NO];
}
- (void)setMinimumValue:(CGFloat)minimumValue
{
NSAssert(minimumValue >= 0, @"JBChartView // the minimumValue must be >= 0.");
_minimumValue = minimumValue;
_hasMinimumValue = YES;
}
- (void)setMaximumValue:(CGFloat)maximumValue
{
NSAssert(maximumValue >= 0, @"JBChartView // the maximumValue must be >= 0.");
_maximumValue = maximumValue;
_hasMaximumValue = YES;
}
- (void)resetMinimumValue
{
_hasMinimumValue = NO; // clears min
}
- (void)resetMaximumValue
{
_hasMaximumValue = NO; // clears max
}
- (void)setFrame:(CGRect)frame
{
[super setFrame:frame];
// because frame is set early, we may not have sources
if (self.delegate != nil && self.dataSource != nil)
{
[self reloadData]; // reload all subviews on frame change
}
}
@end
@implementation JBChartVerticalSelectionView
#pragma mark - Alloc/Init
+ (void)initialize
{
if (self == [JBChartVerticalSelectionView class])
{
kJBChartVerticalSelectionViewDefaultBgColor = [UIColor whiteColor];
}
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.backgroundColor = [UIColor clearColor];
}
return self;
}
#pragma mark - Drawing
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
[[UIColor clearColor] set];
CGContextFillRect(context, rect);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[] = { 0.0, 1.0 };
NSArray *colors = nil;
if (self.bgColor != nil)
{
colors = @[(__bridge id)self.bgColor.CGColor, (__bridge id)[self.bgColor colorWithAlphaComponent:0.0].CGColor];
}
else
{
colors = @[(__bridge id)kJBChartVerticalSelectionViewDefaultBgColor.CGColor, (__bridge id)[kJBChartVerticalSelectionViewDefaultBgColor colorWithAlphaComponent:0.0].CGColor];
}
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) colors, locations);
CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGContextSaveGState(context);
{
CGContextAddRect(context, rect);
CGContextClip(context);
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
}
CGContextRestoreGState(context);
CGGradientRelease(gradient);
CGColorSpaceRelease(colorSpace);
}
#pragma mark - Setters
- (void)setBgColor:(UIColor *)bgColor
{
_bgColor = bgColor;
[self setNeedsDisplay];
}
@end
+318
View File
@@ -0,0 +1,318 @@
//
// JBLineChartView.h
// JBChartView
//
// Created by Terry Worona on 9/4/13.
// Copyright (c) 2013 Jawbone. All rights reserved.
//
#import "JBChartView.h"
@class JBLineChartView;
/**
* Current support for two line styles: solid (default) and dashed.
*/
typedef NS_ENUM(NSInteger, JBLineChartViewLineStyle){
/**
* Solid line.
*/
JBLineChartViewLineStyleSolid,
/**
* Dashed line with a phase of 3:2 (3 points dashed, 2 points spaced).
*/
JBLineChartViewLineStyleDashed
};
@protocol JBLineChartViewDataSource <JBChartViewDataSource>
@required
/**
* Returns the number of lines for the line chart.
*
* @param lineChartView The line chart object requesting this information.
*
* @return The number of lines in the line chart.
*/
- (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView;
/**
* Returns the number of vertical values for a particular line at lineIndex within the chart.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The number of vertical values for a given line in the line chart.
*/
- (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex;
@optional
/**
* Returns whether or not a line should show a dot for each point.
* Dot size is relative to the line width and not adjustable.
* Dot color is equal to the line color and not adjustable.
*
* Default: NO
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return Whether or not a line should show a dot for each chart point.
*/
- (BOOL)lineChartView:(JBLineChartView *)lineChartView showsDotsForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns whether or not a line should be rendered with curved connections and rounded end caps.
*
* Default: NO
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return Whether or not a line should smooth it's connections and end caps.
*/
- (BOOL)lineChartView:(JBLineChartView *)lineChartView smoothLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns a (custom) UIView instance representing a dot (x,y point) within the chart.
* For this value to apply, showsDotsForLineAtLineIndex: must return YES for the line at lineIndex.
* This protocol supercedes colorForDotAtHorizontalIndex: and dotRadiusForDotAtHorizontalIndex:.
* If nil is returned. the original dot protocols will take precedence. During selection events, a custom
* dot view will not be hidden unless lineChartView:shouldHideDotViewOnSelectionAtHorizontalIndex:atLineIndex:
* is implemented.
*
* Default: nil.
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param lineIndex An index number identifying a line in the chart.
*
* @return A custom UIView instance representing a dot at a particular horizontal index within a dotted line.
*/
- (UIView *)lineChartView:(JBLineChartView *)lineChartView dotViewAtHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
/**
* Returns whether or not a (custom) dot view should be hidden on selection events.
*
* Default: NO
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param lineIndex An index number identifying a line in the chart.
*
* @return Whether or not a (custom) dot view should be hidden on selection events.
*/
- (BOOL)lineChartView:(JBLineChartView *)lineChartView shouldHideDotViewOnSelectionAtHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
@end
@protocol JBLineChartViewDelegate <JBChartViewDelegate>
@required
/**
* Vertical value for a line point at a given index (left to right). There is no ceiling on the the height;
* the chart will automatically normalize all values between the overal min and max heights.
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param lineIndex An index number identifying the closest line in the chart to the current touch point.
*
* @return The y-axis value of the supplied line index (x-axis)
*/
- (CGFloat)lineChartView:(JBLineChartView *)lineChartView verticalValueForHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
@optional
/**
* Occurs whenever there is a touch gesture on the chart (chart must be expanded).
* The horizontal index is the closest index to the touch point & is clamped to it's max/min value if it moves outside of the view's bounds.
* The lineIndex remains constant until the line is deselected and will be highlighted using the (optional) selectionColorForLineAtLineIndex: protocol.
* Futhermore, all other lines that aren't selected will be dimmed to 20%% opacity throughout the duration of the touch/move. Any dotted line that isn't the
* primary selection will have it's dots dimmed to hidden (to avoid transparency issues).
*
* @param lineChartView A line chart object informing the delegate about the new selection.
* @param lineIndex An index number identifying the closest line in the chart to the current touch
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param touchPoint The touch point in relation to the chart's bounds (excludes footer and header).
*/
- (void)lineChartView:(JBLineChartView *)lineChartView didSelectLineAtIndex:(NSUInteger)lineIndex horizontalIndex:(NSUInteger)horizontalIndex touchPoint:(CGPoint)touchPoint;
- (void)lineChartView:(JBLineChartView *)lineChartView didSelectLineAtIndex:(NSUInteger)lineIndex horizontalIndex:(NSUInteger)horizontalIndex;
/**
* Occurs when selection ends by ending a touch event. For selection start events, see: didSelectChartAtIndex:
*
* @param lineChartView A line chart object informing the delegate about the deselection.
*/
- (void)didDeselectLineInLineChartView:(JBLineChartView *)lineChartView;
/**
* Returns the color of particular line at lineIndex within the chart.
*
* Default: black color.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color to be used to shade a line in the chart.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView colorForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the fill color of particular line at lineIndex within the chart.
*
* Default: clear color.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The fill color to show under a line in the chart.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView fillColorForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the color of a particular dot in a line at lineIndex within the chart.
* For this value to apply, showsDotsForLineAtLineIndex: must return YES for the line at lineIndex.
* Any value can be returned for lineIndex's that don't support dots, as it will never be called.
*
* Default: black color.
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis)
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color to be used to color a dot within a dotted line in the chart.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView colorForDotAtHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
/**
* Returns the width of particular line at lineIndex within the chart.
*
* Default: 5 points.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The width to be used to draw a line in the chart.
*/
- (CGFloat)lineChartView:(JBLineChartView *)lineChartView widthForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the radius of all dots in a particular line at lineIndex within the chart.
* For this value to apply, showsDotsForLineAtLineIndex: must return YES for the line at lineIndex.
* Any value can be returned for lineIndex's that don't support dots, as it will never be called.
*
* Default: line width x 3.
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param lineIndex An index number identifying a line in the chart.
*
* @return The radius of the dots within a dotted line in the chart.
*/
- (CGFloat)lineChartView:(JBLineChartView *)lineChartView dotRadiusForDotAtHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
/**
* Returns the width of the (vertical) selection view to be overlayed on the chart during touch events.
* The property showsVerticalSelection must be YES for the width to apply. The width is clamped to the
* maxmimum width of the chart's bounds.
*
* Default: 20px.
*
* @param lineChartView The line chart object requesting this information.
*
* @return The width of the selection view used during chart selections.
*/
- (CGFloat)verticalSelectionWidthForLineChartView:(JBLineChartView *)lineChartView;
/**
* Returns the (vertical) selection color to be overlayed on the chart during touch events on a given line.
* The color is automically faded to transparent (vertically). The property showsVerticalSelection
* must be YES for the color to apply.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color of the selection view used during chart selections of the given line.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView verticalSelectionColorForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the selection color to be overlayed on a line within the chart during touch events.
* The property showsLineSelection must be YES for the color to apply.
*
* Default: white color.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color to be used to highlight a line during chart selections.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView selectionColorForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the selection fill color to be overlayed under a line within the chart during touch events.
* The property showsLineSelection must be YES for the color to apply.
*
* Default: clear color.
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color to be used to highlight under a line during chart selections.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView selectionFillColorForLineAtLineIndex:(NSUInteger)lineIndex;
/**
* Returns the selection color to be overlayed on a line within the chart during touch events.
* The property showsLineSelection must be YES for the color to apply.
*
* Default: white color.
*
* @param lineChartView The line chart object requesting this information.
* @param horizontalIndex The 0-based horizontal index of a selection point (left to right, x-axis).
* @param lineIndex An index number identifying a line in the chart.
*
* @return The color to be used to highlight a dot within a dotted line during chart selections.
*/
- (UIColor *)lineChartView:(JBLineChartView *)lineChartView selectionColorForDotAtHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex;
/**
* Returns the line style of a particular line at lineIndex within the chart.
* See JBLineChartViewLineStyle for line style descriptions.
*
* Default: JBLineChartViewLineStyleSolid
*
* @param lineChartView The line chart object requesting this information.
* @param lineIndex An index number identifying a line in the chart.
*
* @return The line style to be used to draw a line in the chart.
*/
- (JBLineChartViewLineStyle)lineChartView:(JBLineChartView *)lineChartView lineStyleForLineAtLineIndex:(NSUInteger)lineIndex;
@end
@interface JBLineChartView : JBChartView
@property (nonatomic, weak) id<JBLineChartViewDataSource> dataSource;
@property (nonatomic, weak) id<JBLineChartViewDelegate> delegate;
/**
* Vertical highlight overlayed on a line graph during touch events.
*
* Default: YES.
*/
@property (nonatomic, assign) BOOL showsVerticalSelection;
/**
* A highlight shown on a line within the graph during touch events. The highlighted line
* is the closest line to the touch point and corresponds to the lineIndex delegatd back via
* didSelectChartAtHorizontalIndex:atLineIndex: and didUnSlectChartAtHorizontalIndex:atLineIndex:
*
* Default: YES.
*/
@property (nonatomic, assign) BOOL showsLineSelection;
@end
+1577
View File
File diff suppressed because it is too large Load Diff
@@ -1,27 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaAsyncSocket'
s.version = '0.0.1'
s.license = 'public domain'
s.summary = 'An asynchronous socket networking library for Cocoa.'
s.homepage = 'https://github.com/robbiehanson/CocoaAsyncSocket'
s.authors = 'Dustin Voss', { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'git://github.com/robbiehanson/CocoaAsyncSocket.git' }
s.description = 'CocoaAsyncSocket supports TCP and UDP. The AsyncSocket class is for TCP, and the AsyncUdpSocket class is for UDP. ' \
'AsyncSocket is a TCP/IP socket networking library that wraps CFSocket and CFStream. It offers asynchronous ' \
'operation, and a native Cocoa class complete with delegate support or use the GCD variant GCDAsyncSocket. ' \
'AsyncUdpSocket is a UDP/IP socket networking library that wraps CFSocket. It works almost exactly like the TCP ' \
'version, but is designed specifically for UDP. This includes queued non-blocking send/receive operations, full ' \
'delegate support, run-loop based, self-contained class, and support for IPv4 and IPv6.'
s.source_files = '{GCD,RunLoop}/*.{h,m}'
s.clean_paths = 'Vendor', 'GCD/Xcode', 'RunLoop/Xcode'
s.requires_arc = true
if config.ios?
s.frameworks = ['CFNetwork', 'Security']
else
s.frameworks = ['CoreServices', 'Security']
end
end
@@ -1,20 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaHTTPServer'
s.version = '2.2.1'
s.license = 'BSD'
s.summary = 'A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications'
s.homepage = 'https://github.com/robbiehanson/CocoaHTTPServer'
s.authors = { 'Robbie Hanson' => 'cocoahttpserver@googlegroups.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaHTTPServer.git', :tag => '2.2.1' }
s.source_files = '{Core,Extensions}/**/*.{h,m}'
s.clean_paths = %w{Samples Vendor}
if config.ios?
s.frameworks = 'CFNetwork', 'Security'
else
s.frameworks = 'CoreServices', 'Security'
end
s.library = 'xml2'
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
s.dependency "CocoaAsyncSocket", "0.0.1"
s.dependency "CocoaLumberjack", "1.3"
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.0.0'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.0' }
s.source_files = 'Lumberjack'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.1.0'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.1' }
s.source_files = 'Lumberjack'
end
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.2.1'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.2.1' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode'
end
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.2.2'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.2.2' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode'
end
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.2.3'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.2.3' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode', 'Lumberjack/Extensions'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.2.0'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'http://code.google.com/p/cocoalumberjack/'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.2' }
s.source_files = 'Lumberjack'
end
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.3.1'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'https://github.com/robbiehanson/CocoaLumberjack'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.3.1' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.requires_arc = true
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode', 'Lumberjack/Extensions'
end
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.3.2'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'https://github.com/robbiehanson/CocoaLumberjack'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.3.2' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.requires_arc = true
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode', 'Lumberjack/Extensions'
end
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CocoaLumberjack'
s.version = '1.3'
s.license = 'BSD'
s.summary = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'
s.homepage = 'https://github.com/robbiehanson/CocoaLumberjack'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/robbiehanson/CocoaLumberjack.git',
:tag => '1.3' }
s.description = 'It is similar in concept to other popular logging frameworks such as log4j, ' \
'yet is designed specifically for objective-c, and takes advantage of features ' \
'such as multi-threading, grand central dispatch (if available), lockless ' \
'atomic operations, and the dynamic nature of the objective-c runtime.'
s.requires_arc = true
s.source_files = 'Lumberjack'
s.clean_paths = 'Benchmarking', 'Xcode', 'Lumberjack/Extensions'
end
-4
View File
@@ -1,4 +0,0 @@
---
:min: "0.6.0rc1"
:last: "0.6.0rc1"
@@ -1,14 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Color-Picker-for-iOS'
s.version = '0.0.1'
s.license = 'BSD'
s.platform = :ios
s.summary = 'ColorPicker for iPhone and iPod touch'
s.homepage = 'https://github.com/hayashi311'
s.author = { 'Ryota Hayashi' => 'hayashi311' }
s.source = { :git => 'https://github.com/hayashi311/Color-Picker-for-iOS.git',
:commit => '711b2981d29f0cfb7f7b258b79783bc650fa980e' }
s.source_files = 'ColorPicker/*.{h,m}'
s.frameworks = 'UIKit' , 'QuartzCore'
s.clean_paths = "Sample", "CHANGE_ja.md" , 'TODO_ja.md'
end
-17
View File
@@ -1,17 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ConciseKit'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = 'A set of Objective-C additions and macros that lets you write code more quickly.'
s.homepage = 'http://github.com/petejkim/ConciseKit'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/ConciseKit.git', :tag => 'v0.1.0' }
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = 'ConciseKitSpecs'
s.frameworks = 'Foundation'
end
-17
View File
@@ -1,17 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ConciseKit'
s.version = '0.1.1'
s.license = 'MIT'
s.summary = 'A set of Objective-C additions and macros that lets you write code more quickly.'
s.homepage = 'http://github.com/petejkim/ConciseKit'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/ConciseKit.git', :tag => 'v0.1.1' }
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = 'ConciseKitSpecs'
s.frameworks = 'Foundation'
end
-17
View File
@@ -1,17 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ConciseKit'
s.version = '0.1.2'
s.license = 'MIT'
s.summary = 'A set of Objective-C additions and macros that lets you write code more quickly.'
s.homepage = 'http://github.com/petejkim/ConciseKit'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/ConciseKit.git', :tag => 'v0.1.2' }
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = 'ConciseKitSpecs'
s.frameworks = 'Foundation'
end
-28
View File
@@ -1,28 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CorePlot'
s.version = '1.0'
s.license = 'BSD'
s.summary = 'Cocoa plotting framework for Mac OS X and iOS.'
s.homepage = 'http://code.google.com/p/core-plot/'
s.authors = { 'Drew McCormack' => 'drewmccormack@mac.com',
'Brad Larson' => 'larson@sunsetlakesoftware.com',
'Eric Skroch' => 'eskroch@mac.com',
'Barry Wark' => 'barrywark@gmail.com' }
s.source = { :hg => 'https://code.google.com/p/core-plot', :revision => 'release_1.0' }
s.description = 'Core Plot is a plotting framework for OS X and iOS. It provides 2D visualization ' \
'of data, and is tightly integrated with Apple technologies like Core Animation, ' \
'Core Data, and Cocoa Bindings.'
files = FileList['framework/TestResources/CorePlotProbes.d', 'framework/Source/*.{h,m}']
files.exclude(/(TestCase|Tests)\.[hm]/)
if config.ios?
files.include('framework/CorePlot-CocoaTouch.h', 'framework/iPhoneOnly/*.{h,m}')
else
files.include('framework/CorePlot.h', 'framework/MacOnly/*.{h,m}')
end
s.source_files = files
s.clean_paths = 'documentation', 'examples', 'scripts', 'QCPlugin', 'framework/*.{xcodeproj,lproj}'
s.framework = 'QuartzCore'
end
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'CupertinoYankee'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = 'An NSDate Category With Locale-Aware Calculations for Beginning & End of Day, Week, Month, and Year'
s.homepage = 'https://github.com/mattt/CupertinoYankee'
s.authors = {'Mattt Thompson' => 'm@mattt.me'}
s.source = { :git => 'https://github.com/mattt/CupertinoYankee.git', :tag => '0.1.0' }
s.source_files = 'NSDate+CupertinoYankee.{h,m}'
s.clean_paths = ['Example']
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'DCIntrospect'
s.version = '0.0.1'
s.license = 'MIT'
s.summary = 'Introspect is small set of tools for iOS that aid in debugging user interfaces built with UIKit.'
s.homepage = 'https://github.com/domesticcatsoftware/DCIntrospect'
s.author = { 'Patrick Richards' => 'contact@domesticcat.com.au' }
s.source = { :git => 'git://github.com/domesticcatsoftware/DCIntrospect.git', :commit => "3ef2c10710f007b6d699c2a0b996ce1e3a79bde0" }
s.source_files = 'DCIntrospect'
s.frameworks = 'QuartzCore'
s.clean_paths = 'DCIntrospectDemo'
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'DCTTextFieldValidator'
s.version = '1.0'
s.license = 'BSD'
s.summary = 'Validates an array of UITextFields before allowing an action to take place.'
s.homepage = 'https://github.com/danielctull/DCTTextFieldValidator'
s.author = { 'Daniel Tull' => 'dt@danieltull.co.uk' }
s.source = { :git => 'https://github.com/danielctull/DCTTextFieldValidator.git', :tag => '1.0' }
s.description = 'DCTTextFieldValidator takes an array of UITextFields and switches the return key on the keyboard if the text fields are valid.'
s.source_files = 'DCTTextFieldValidator.h', 'DCTTextFieldValidator.m'
s.requires_arc = true
end
-23
View File
@@ -1,23 +0,0 @@
Pod::Spec.new do |s|
s.name = 'DDPageControl'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = 'An easily customizable alternative to UIKit\'s UIPageControl.'
s.homepage = 'https://github.com/ddeville/DDPageControl'
s.author = { 'Damien DeVille' => 'damien@realmacsoftware.com' }
s.source = { :git => 'git://github.com/ddeville/DDPageControl.git', :tag => '0.1' }
s.description = 'DDPageControl redefines exactly every property and methods available in UIPageControl. Using DDPageControl without customization will actually lead exactly to a UIPageControl. However, the power of DDPageControl is that you can set some additional properties that will affect the way the look and feel of the page controls.'
s.platform = :ios
s.source_files = 'Classes/DDPageControl.{h,m}'
s.clean_path = "Classes/DDPageControlAppDelegate.*",
"Classes/DDPageControlViewController.*",
"*.xib",
"*.pch",
"*.plist",
"*.xcodeproj",
"*.m"
end
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'DMLocationManager'
s.version = '1.0.0'
s.license = 'Apache License, Version 2.0'
s.summary = 'Convenient CLLocationManager wrapper. Control location caching, cache age and accuracy.'
s.homepage = 'https://github.com/martinstolz/DMLocationManager'
s.author = { 'Martin Stolz' => 'martin.stolz@devmob.de' }
s.description = 'This CLLocationManager wrapper allows you to query for the devices location in a convenient way. Control the caching behaviour by disallowing cache or setting the maximum cache age. Loop the location determination for permanent location updates in a defined interval.'
s.platform = :ios
s.source = { :git => 'https://github.com/martinstolz/DMLocationManager.git', :tag => '1.0.0' }
s.source_files = '*.{h,m}'
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |spec|
spec.name = 'DTCoreText'
spec.version = '1.0.0'
spec.platform = :ios
spec.license = 'BSD'
spec.source = { :git => 'https://github.com/Cocoanetics/DTCoreText.git', :tag => '1.0.0' }
spec.source_files = 'Core/Source/*.{h,m,c}'
spec.clean_paths = 'Core/Test/', 'Core/DTCoreText-Info.plist', 'Core/DTCoreText-Prefix.pch', 'DTCoreText.xcodeproj/', 'Demo/', '.gitignore'
spec.frameworks = 'MediaPlayer', 'QuartzCore', 'CoreText', 'CoreGraphics', 'ImageIO'
spec.requires_arc = true
spec.homepage = 'https://github.com/Cocoanetics/DTCoreText'
spec.summary = 'Methods to allow using HTML code with CoreText.'
spec.author = { 'Oliver Drobnik' => 'oliver@drobnik.com' }
spec.library = 'xml2'
spec.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SDKROOT)/usr/include/libxml2"' }
def spec.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import <CoreText/CoreText.h>\n#endif\n#define ALLOW_IPHONE_SPECIAL_CASES 1})
end
Dir.chdir(config.project_pods_root + 'DTCoreText/Core/Source/') do
Dir.glob('*.css') do |css_file|
system '/usr/bin/xxd', '-i', css_file, css_file + '.c'
end
end
end
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |spec|
spec.name = 'DTCoreText'
spec.version = '1.0.1'
spec.platform = :ios
spec.license = 'BSD'
spec.source = { :git => 'https://github.com/Cocoanetics/DTCoreText.git', :tag => '1.0.1' }
spec.source_files = 'Core/Source/*.{h,m,c}'
spec.clean_paths = 'Core/Test/', 'Core/DTCoreText-Info.plist', 'Core/DTCoreText-Prefix.pch', 'DTCoreText.xcodeproj/', 'Demo/', '.gitignore'
spec.frameworks = 'MediaPlayer', 'QuartzCore', 'CoreText', 'CoreGraphics', 'ImageIO'
spec.requires_arc = true
spec.homepage = 'https://github.com/Cocoanetics/DTCoreText'
spec.summary = 'Methods to allow using HTML code with CoreText.'
spec.author = { 'Oliver Drobnik' => 'oliver@drobnik.com' }
spec.library = 'xml2'
spec.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SDKROOT)/usr/include/libxml2"' }
def spec.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#ifdef __OBJC__\n#import <CoreText/CoreText.h>\n#endif\n#define ALLOW_IPHONE_SPECIAL_CASES 1})
end
Dir.chdir(config.project_pods_root + 'DTCoreText/Core/Source/') do
Dir.glob('*.css') do |css_file|
system '/usr/bin/xxd', '-i', css_file, css_file + '.c'
end
end
end
end
@@ -1,16 +0,0 @@
Pod::Spec.new do |s|
s.name = 'DirectoryWatchdog'
s.version = '1.0.0'
s.license = 'Apache License 2.0'
s.summary = 'A simpe utility class to monitor real time changes in a directory, such as the documents dir for an app with File Sharing enabled.'
s.homepage = 'https://github.com/graetzer/DirectoryWatchdog'
s.author = { 'Simon Grätzer' => 'simon@graetzer.org' }
s.source = { :git => 'https://github.com/graetzer/DirectoryWatchdog.git', :tag => '1.0.0' }
s.description = 'DirectoryWatchdog is a simple utility tool to monitor real time changes in local folders. '\
'Most common use is the monitoring of an applications documents directory in combination'\
' with iTunes file sharing support. This code uses the BSD kqueue API and should work on OSX as well as iOS.'
s.source_files = 'DirectoryWatchdog/lib/*.{h,m}'
end
@@ -1,13 +0,0 @@
Pod::Spec.new do |s|
s.name = 'ECSlidingViewController'
s.version = '0.9.0'
s.license = 'MIT'
s.summary = 'ECSlidingViewController is a view controller container that presents its child view controllers in two layers. It provides functionality for sliding the top view to reveal the views underneath it. This functionality is inspired by the Path 2.0 and Facebook iPhone apps.'
s.homepage = 'https://github.com/edgecase/ecslidingviewcontroller'
s.author = { 'Mike Enriquez' => 'mike@edgecase.com' }
s.source = { :git => 'git://github.com/edgecase/ECSlidingViewController.git', :tag => '0.9.0' }
s.platform = :ios
s.source_files = 'ECSlidingViewController/Vendor/ECSlidingViewController/'
s.clean_paths = 'ECSlidingViewController.xcodeproj'
s.requires_arc = true
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'EGOCache'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = 'Fast Caching for Objective-C (iPhone & Mac Compatible)'
s.homepage = 'https://github.com/enormego/EGOCache'
s.author = 'enormego'
s.source = { :git => 'https://github.com/enormego/EGOCache.git',
:commit => '8b7c7ecfc8fad396b6547ad3fef085713644f794' }
s.source_files = '*.{h,m}'
end
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'EGOImageLoading'
s.version = '0.0.1'
s.platform = :ios
s.license = 'MIT'
s.summary = 'What if images on the iPhone were as easy as HTML?'
s.homepage = 'https://github.com/enormego/EGOImageLoading'
s.author = 'Shaun Harrison'
s.source = { :git => 'git://github.com/enormego/EGOImageLoading.git',
:commit => '9a3fa6b657c6b8217a24ff87c1fe4f670401f3bd' }
s.source_files = 'EGO*/*.{h,m}'
s.clean_paths = 'Demo'
s.dependency 'EGOCache'
end
@@ -1,16 +0,0 @@
Pod::Spec.new do |s|
s.name = 'EGOTableViewPullRefresh'
s.version = '0.1.0'
s.platform = :ios
s.license = 'MIT'
s.summary = 'A similar control to the pull down to refresh control created by atebits in Tweetie 2.'
s.homepage = 'https://github.com/enormego/EGOTableViewPullRefresh'
s.author = { 'Devin Doty' => 'devin.r.doty@gmail.com' }
s.source = { :git => 'https://github.com/enormego/EGOTableViewPullRefresh.git',
:commit => '743679ffeb6ac02f0afffaac46f318dd2ce6122e' }
s.source_files = 'EGOTableViewPullRefresh/Classes/View/*.{h,m}'
s.resources = 'EGOTableViewPullRefresh/Resources/*.png'
s.clean_paths = 'Demo'
s.framework = 'QuartzCore'
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Expecta'
s.version = '0.1.0'
s.license = 'MIT'
s.summary = 'A matcher framework for Objective-C & Cocoa'
s.homepage = 'http://github.com/petejkim/expecta'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/expecta.git', :tag => 'v0.1.0' }
s.description = %{
Expecta is a matcher framework for Objective-C and Cocoa. The main
advantage of using Expecta over other matcher frameworks is that you do not
have to specify the data types. Also, the syntax of Expecta matchers is
much more readable and does not suffer from parenthesitis. If you have used
Jasmine before, you will feel right at home!
}
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = "Rakefile", "RDD.md", "products", "test", "*.xcodeproj"
s.frameworks = 'Foundation'
s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Expecta'
s.version = '0.1.1'
s.license = 'MIT'
s.summary = 'A matcher framework for Objective-C & Cocoa'
s.homepage = 'http://github.com/petejkim/expecta'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/expecta.git', :tag => 'v0.1.1' }
s.description = %{
Expecta is a matcher framework for Objective-C and Cocoa. The main
advantage of using Expecta over other matcher frameworks is that you do not
have to specify the data types. Also, the syntax of Expecta matchers is
much more readable and does not suffer from parenthesitis. If you have used
Jasmine before, you will feel right at home!
}
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = "Rakefile", "RDD.md", "products", "test", "*.xcodeproj"
s.frameworks = 'Foundation'
s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Expecta'
s.version = '0.1.2'
s.license = 'MIT'
s.summary = 'A matcher framework for Objective-C & Cocoa'
s.homepage = 'http://github.com/petejkim/expecta'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/expecta.git', :tag => 'v0.1.2' }
s.description = %{
Expecta is a matcher framework for Objective-C and Cocoa. The main
advantage of using Expecta over other matcher frameworks is that you do not
have to specify the data types. Also, the syntax of Expecta matchers is
much more readable and does not suffer from parenthesitis. If you have used
Jasmine before, you will feel right at home!
}
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = "Rakefile", "RDD.md", "products", "test", "*.xcodeproj"
s.frameworks = 'Foundation'
s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }
end
-27
View File
@@ -1,27 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Expecta'
s.version = '0.1.3'
s.license = 'MIT'
s.summary = 'A matcher framework for Objective-C & Cocoa'
s.homepage = 'http://github.com/petejkim/expecta'
s.author = { 'Peter Jihoon Kim' => 'raingrove@gmail.com' }
s.source = { :git => 'http://github.com/petejkim/expecta.git', :tag => 'v0.1.3' }
s.description = %{
Expecta is a matcher framework for Objective-C and Cocoa. The main
advantage of using Expecta over other matcher frameworks is that you do not
have to specify the data types. Also, the syntax of Expecta matchers is
much more readable and does not suffer from parenthesitis. If you have used
Jasmine before, you will feel right at home!
}
s.source_files = 'src/**/*.{h,m}'
s.clean_paths = "Rakefile", "RDD.md", "products", "test", "*.xcodeproj"
s.frameworks = 'Foundation'
s.xcconfig = { 'OTHER_LDFLAGS' => '-ObjC' }
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FMDB'
s.version = '1.5.1'
s.summary = 'A Cocoa / Objective-C wrapper around SQLite.'
s.homepage = 'https://github.com/ccgus/fmdb'
s.author = 'August Mueller'
s.source = { :git => 'https://github.com/ccgus/fmdb.git',
:tag => 'v1.5.1' }
s.source_files = 'src/FM*.*'
s.library = 'sqlite3'
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FMDB'
s.version = '1.5'
s.summary = 'A Cocoa / Objective-C wrapper around SQLite.'
s.homepage = 'https://github.com/ccgus/fmdb'
s.author = 'August Mueller'
s.source = { :git => 'https://github.com/ccgus/fmdb.git',
:tag => 'v1.5' }
s.source_files = 'src/FM*.*'
s.library = 'sqlite3'
end
-12
View File
@@ -1,12 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FMDB'
s.version = '2.0'
s.summary = 'A Cocoa / Objective-C wrapper around SQLite.'
s.homepage = 'https://github.com/ccgus/fmdb'
s.author = 'August Mueller'
s.source = { :git => 'https://github.com/ccgus/fmdb.git',
:tag => 'v2.0' }
s.source_files = 'src/FM*.*'
s.library = 'sqlite3'
end
@@ -1,14 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FSArgumentParser'
s.version = '0.0.1'
s.license = 'FDOSL'
s.summary = 'Totally awesome tool for parsing command line arguments in a declarative way.'
s.homepage = 'https://github.com/NSError/ArgumentParser'
s.author = { 'Chris Miller' => 'nserror@me.com' }
s.source = { :git => 'https://github.com/NSError/ArgumentParser.git', :tag => '0.0.1' }
s.description = 'Parsing command-line arguments is hard, but it doesn\'t have to be! FSArgumentParser makes it much easier to parse command-line arguments by defining a declarative argument signature which some magic box code interprets. It handles the presence of missing arguments, detecting short and long names, and packaging it all up in a simple, easy to use object. So go write command-line tools like a boss, and keep being awesome!'
s.source_files = 'ArgumentParser/*.{h,m}'
s.clean_paths = 'bin/', 'example', 'example.xcodeproj'
s.framework = 'Foundation'
s.requires_arc = true
end
@@ -1,13 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FSURLOperation'
s.version = '0.0.1'
s.license = 'FDOSL'
s.summary = 'Simple NSOperation wrapper for NSURLRequest.'
s.homepage = 'https://github.com/NSError/URLOperation'
s.author = { 'Chris Miller' => 'nserror@me.com' }
s.source = { :git => 'https://github.com/NSError/URLOperation.git', :tag => '0.0.1' }
s.description = 'HTTP requests are hard, but scheduling them doesn\'t have to be! FSURLOperation makes it much easier to dispatch NSURLRequests. By leveraging the existing capabilities of NSOperation, you can set dependencies, block until an operation (or set of operations) completes, and also control which thread the request is performed on. So go make concurrent URL operations like a boss, and keep being awesome!'
s.source_files = '*.{h,m}'
s.framework = 'Foundation'
s.requires_arc = true
end
-14
View File
@@ -1,14 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FTUtils'
s.version = '1.1.1'
s.license = 'MIT'
s.summary = 'Phone utilities mostly for Core Animation.'
s.homepage = 'http://ftutils.com/'
s.authors = {'Nathan Eror' => 'contact@freetimestudios.com', 'Corey Floyd' => 'corey.floyd@flyingjalapenosoftware.com', 'Ben Lenarts' => 'ben@boonbits.com' }
s.source = { :git => 'https://github.com/neror/ftutils.git', :tag => 'v1.1.1' }
s.description = 'The code in FTUtils is common utility code extracted from Free Time Studios iPhone projects. Currently, there is only one primary utility (FTAnimation) and some simple preprocessor macros. Some unit tests exist for the code, but more are needed.'
s.platform = :ios
s.source_files = 'Classes', 'Headers/*/*.h'
s.clean_paths = "Examples", "Support", "Tests", "UnitTests", "apidocs"
s.framework = 'QuartzCore'
end
-13
View File
@@ -1,13 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FXLabel'
s.version = '1.3.1'
s.license = 'zlib'
s.summary = 'FXLabel improves upon the standard UILabel by providing a subclass that supports soft shadows, inner shadow and gradient fill, and which can easily be used in place of any standard UILabel.'
s.homepage = 'http://charcoaldesign.co.uk/source/cocoa#fxlabel'
s.author = { 'Nick Lockwood' => 'http://charcoaldesign.co.uk/' }
s.source = { :git => 'https://github.com/nicklockwood/FXLabel.git', :tag => '1.3.1' }
s.platform = :ios
s.source_files = 'FXLabel'
s.clean_paths = 'Examples', 'Tests'
s.requires_arc = true
end
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Facebook-iOS-SDK'
s.version = '0.0.1'
s.platform = :ios
s.license = 'Apache License, Version 2.0'
s.summary = 'The iOS SDK provides Facebook Platform support for iOS apps. ' \
'It enables you to access the Facebook Platform APIs including the Graph API, FQL, and Dialogs.'
s.homepage = 'http://developers.facebook.com/docs/reference/iossdk'
s.author = 'Facebook'
#s.source = { :git => 'https://github.com/facebook/facebook-ios-sdk.git', :tag => '0.0.1' }
s.source = { :git => 'https://github.com/facebook/facebook-ios-sdk.git', :commit => 'e79d07272218d41bfd940fa5b4518d0f274a8085' }
s.source_files = 'src/*.{h,m}'
s.resource = 'FBDialog.bundle'
s.clean_paths = 'sample', 'test'
s.dependency 'SBJson', '2.2.3'
end
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'Facebook-iOS-SDK'
s.version = '1.2'
s.platform = :ios
s.license = 'Apache License, Version 2.0'
s.summary = 'The iOS SDK provides Facebook Platform support for iOS apps. ' \
'It enables you to access the Facebook Platform APIs including the Graph API, FQL, and Dialogs.'
s.homepage = 'http://developers.facebook.com/docs/reference/iossdk'
s.author = 'Facebook'
s.source = { :git => 'https://github.com/facebook/facebook-ios-sdk.git', :tag => 'v1.2' }
s.source_files = 'src/*.{h,m}'
s.resource = 'src/FBDialog.bundle'
s.clean_paths = 'sample', 'test'
s.dependency 'SBJson', '2.2.3'
end
-19
View File
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FileMD5Hash'
s.version = '0.0.1'
s.license = 'Apache'
s.summary = 'Library for computing MD5 hashes of files with small memory usage'
s.homepage = 'http://www.joel.lopes-da-silva.com/2010/09/07/compute-md5-or-sha-hash-of-large-file-efficiently-on-ios-and-mac-os-x/'
s.author = { 'Joel Lopes Da Silva' => 'joel@lopes-da-silva.com' }
s.source = { :git => 'https://github.com/JoeKun/FileMD5Hash.git', :commit => 'd00c0c51c6d0955d9daf94c30cfd95a219d4914e' }
s.source_files = 'Common/*.{h,c}'
s.clean_paths = "Mac", "iOS", 'FileMD5Hash.xcodeproj'
def s.post_install(target)
prefix_header = config.project_pods_root + target.prefix_header_filename
prefix_header.open('a') do |file|
file.puts(%{#import "FileMD5Hash_Prefix.pch"})
end
end
end
-14
View File
@@ -1,14 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FormatterKit'
s.version = '0.6.0'
s.summary = '`stringWithFormat:` for the sophisticated hacker set'
s.homepage = 'https://github.com/mattt/FormatterKit'
s.author = { 'Mattt Thompson' => 'm@mattt.me' }
s.source = { :git => 'https://github.com/mattt/FormatterKit.git', :tag => '0.6.0' }
s.description = "FormatterKit is a collection of well-crafted NSFormatter subclasses for things like hours of operation, distance, and relative time intervals. Each formatter abstracts away the complex business logic of their respective domain, so that you can focus on the more important aspects of your application."
s.source_files = 'TTTArrayFormatter/*.{h,m}', 'TTTHoursOfOperation/*.{h,m}',
'TTTLocationFormatter/*.{h,m}', 'TTTOrdinalNumberFormatter/*.{h,m}',
'TTTTimeIntervalFormatter/*.{h,m}', 'TTTURLRequestFormatter/*.{h,m}'
end
-15
View File
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'FormatterKit'
s.version = '0.7.0'
s.summary = '`stringWithFormat:` for the sophisticated hacker set'
s.homepage = 'https://github.com/mattt/FormatterKit'
s.author = { 'Mattt Thompson' => 'm@mattt.me' }
s.source = { :git => 'https://github.com/mattt/FormatterKit.git', :tag => '0.7.0' }
s.description = "FormatterKit is a collection of well-crafted NSFormatter subclasses for things like hours of operation, distance, and relative time intervals. Each formatter abstracts away the complex business logic of their respective domain, so that you can focus on the more important aspects of your application."
s.source_files = 'TTTArrayFormatter/*.{h,m}', 'TTTHoursOfOperation/*.{h,m}',
'TTTLocationFormatter/*.{h,m}', 'TTTOrdinalNumberFormatter/*.{h,m}',
'TTTTimeIntervalFormatter/*.{h,m}', 'TTTUnitOfInformationFormatter/*.{h,m}',
'TTTURLRequestFormatter/*.{h,m}'
end
@@ -1,11 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GCCommonCode-iOS'
s.version = '0.0.1'
s.platform = :ios
s.summary = 'GUI Cocoa iOS Common Code Library'
s.homepage = 'http://guicocoa.com'
s.author = {'GUI Cocoa, LLC.' => 'caleb@guicocoa.com'}
s.source = { :git => 'git://github.com/guicocoa/common-code-ios.git', :commit => '772798cf1f4353e0944005b98aef3508908035d5'}
s.source_files = '*.{h,m}'
s.framework = 'CoreData', 'CoreLocation'
end
@@ -1,13 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GCDiscreetNotificationView'
s.version = '0.0.1'
s.license = 'MIT'
s.summary = 'A discreet, non-modal, notification view for iOS.'
s.homepage = 'https://github.com/gcamp/GCDiscreetNotificationView'
s.author = { 'Guillaume Campagna' => 'http://gcamp.ca' }
s.source = { :git => 'https://github.com/gcamp/GCDiscreetNotificationView.git', :commit => '3075ef2d27eb471893db4eb235174b26eb67d950' }
s.platform = :ios
s.source_files = 'GCDiscreetNotificationView/GCDiscreetNotificationView.{h,m}'
s.framework = 'UIKit'
s.clean_paths = 'Demo'
end
-19
View File
@@ -1,19 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GDataXML-HTML'
s.version = '0.0.1'
s.license = 'Apache License 2.0'
s.summary = 'HTML/XML parser for the iOS System, based on Google\'s ' \
'GDataXML.'
s.author = { 'Simon Grätzer' => 'http://graetzer.org/' }
s.source = { :git => 'https://github.com/graetzer/GDataXML-HTML.git',
:commit => '2eb63b5dae5174061f4458e0489357bd0752903f' }
s.homepage = 'https://github.com/graetzer/GDataXML-HTML'
s.description = 'It implements parts of NSXML so it\'s easy to parse XML ' \
'Files with a DOM API or XPath. This fork of the original ' \
'GDataXML adds support for the HTMLparser module of ' \
'libxml2 and allows you to deal with non validating XML ' \
'or HTML on iOS based devices (iPhone, iPad etc)'
s.source_files = 'GDataXML-HTML/lib/*.{h,m}'
s.libraries = 'xml2'
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
end
-20
View File
@@ -1,20 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GDataXML-HTML'
s.version = '1.0.0'
s.license = 'Apache License 2.0'
s.summary = 'An XML/HTML Parser for iOS and OSX, based on Google\'s GDataXML.'
s.homepage = 'https://github.com/graetzer/GDataXML-HTML'
s.author = { 'Simon Grätzer' => 'simon@graetzer.org' }
s.source = { :git => 'https://github.com/graetzer/GDataXML-HTML.git', :tag => '1.0.0' }
s.description = 'GDataXML implements parts of NSXML so it\'s easy to parse XML or HTML ' \
'with a DOM style API including XPath support. This fork of the original ' \
'GDataXML adds support for the HTMLparser module of ' \
'libxml2 and allows you to deal with non validating XML ' \
'in a simple way'
s.source_files = 'GDataXML-HTML/lib/*.{h,m}'
s.libraries = 'xml2'
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
end
-15
View File
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GHUnitIOS'
s.version = '0.4.33'
s.license = 'MIT'
s.summary = 'Test Framework for Objective-C'
s.homepage = 'https://github.com/gabriel/gh-unit'
s.author = { 'Gabriel Handford' => 'gabrielh@gmail.com' }
s.source = { :git => 'https://github.com/gabriel/gh-unit.git', :commit => 'fea526dee3e6e00548f280b56d4afab049733ef8'}
s.description = 'GHUnit is a test framework for Objective-C, Mac OS X 10.5 and above and iPhone 3.x and above. It can be used standalone or with other testing frameworks like SenTestingKit or GTM.'
s.source_files = 'Classes/**/*.{h,m}', 'Classes-iOS/**/*.{h,m}', 'Libraries/YelpKit/*.{h,m}', 'Libraries/GTM/**/*.{h,m}', 'Libraries/GHKit/**/*.{h,m}'
s.platform = :ios
s.framework = 'CoreLocation'
s.clean_paths = 'Examples', 'Documentation', 'Project-MacOSX', 'Project-iOS', 'Classes-MacOSX', 'Tests'
end
-15
View File
@@ -1,15 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GHUnitOSX'
s.version = '0.4.33'
s.license = 'MIT'
s.summary = 'Test Framework for Objective-C'
s.homepage = 'https://github.com/gabriel/gh-unit'
s.author = { 'Gabriel Handford' => 'gabrielh@gmail.com' }
s.source = { :git => 'https://github.com/gabriel/gh-unit.git', :commit => '565564e3ab3b78d0b9cf9c90dd4ad66982f07ef4'}
s.description = 'GHUnit is a test framework for Objective-C, Mac OS X 10.5 and above and iPhone 3.x and above. It can be used standalone or with other testing frameworks like SenTestingKit or GTM.'
s.source_files = 'Classes/**/*.{h,m}', 'Classes-MacOSX/**/*.{h,m}', 'Libraries/YelpKit/*.{h,m}', 'Libraries/GTM/**/*.{h,m}', 'Libraries/GHKit/**/*.{h,m}'
s.platform = :osx
s.framework = 'CoreLocation'
s.clean_paths = 'Examples', 'Documentation', 'Project-MacOSX', 'Project-iOS', 'Classes-iOS', 'Tests', 'Classes/GHViewTestCase.{h,m}', 'Libraries/YelpKit'
end
-18
View File
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GMGridView'
s.version = '0.0.1'
s.platform = :ios
s.summary = 'A performant Grid-View for iOS (iPhone/iPad) that allows ' \
'sorting of views with gestures (the user can move the items ' \
'with his finger to sort them) and pinching/rotating/panning ' \
'gestures allow the user to play with the view and toggle from ' \
'the cellview to a fullsize display.'
s.homepage = 'https://github.com/gmoledina/GMGridView'
s.author = { 'Gulam Moledina' => 'http://www.gmoledina.ca/' }
s.source = { :git => 'https://github.com/gmoledina/GMGridView.git',
:commit => '215900fa5468992e0a2e86054f0fa53235dff726' }
s.source_files = 'GMGridView/*.{h,m}'
s.requires_arc = true
s.frameworks = 'QuartzCore'
s.clean_paths = 'Example', 'GMGridView/GMGridView.xcodeproj'
end
-18
View File
@@ -1,18 +0,0 @@
Pod::Spec.new do |s|
s.name = 'GMGridView'
s.version = '0.0.2'
s.platform = :ios
s.summary = 'A performant Grid-View for iOS (iPhone/iPad) that allows ' \
'sorting of views with gestures (the user can move the items ' \
'with his finger to sort them) and pinching/rotating/panning ' \
'gestures allow the user to play with the view and toggle from ' \
'the cellview to a fullsize display.'
s.homepage = 'https://github.com/gmoledina/GMGridView'
s.author = { 'Gulam Moledina' => 'http://www.gmoledina.ca/' }
s.source = { :git => 'https://github.com/gmoledina/GMGridView.git',
:commit => '9ae7d4d25c84d388b08fff38c53a53940991b975' }
s.source_files = 'GMGridView/*.{h,m}'
s.requires_arc = true
s.frameworks = 'QuartzCore'
s.clean_paths = 'Example', 'GMGridView/GMGridView.xcodeproj'
end

Some files were not shown because too many files have changed in this diff Show More