434 Commits

Author SHA1 Message Date
Mateusz Matrejek 4a7c5f3e53 #647: Adds Privacy Manifest as Package.swift resource (#653)
* #647: Adds Privacy Manifest as Package.swift resource

* #647: Bumps swift-tools-version in Package.swift
2024-05-10 09:52:44 +02:00
Jonathan George 18c442d573 Merge pull request #652 from CH3COOH/feature/add_privacy_info
Support for Privacy Manifest
2024-03-19 09:32:46 -05:00
Kenji Wada 2c62462e38 Update MBProgressHUD.podspec 2024-03-15 17:37:50 +09:00
Kenji Wada 9682b56446 Update MBProgressHUD.podspec 2024-03-15 17:26:09 +09:00
Kenji Wada 684e5b7160 Add Privacy Info 2024-01-12 21:14:41 +09:00
Owen Thomas c843e4c86d Update minimum deployment target to iOS 9.0 (#616) 2020-11-25 13:57:02 +01:00
Matej Bukovinski 9bed52746a Merge pull request #608 from dvshelley/deploymentTarget9
change deployment target to iOS 9 to fix Archiving with Xcode 12
2020-11-20 20:42:46 +01:00
Matej Bukovinski 38dc9aa471 Fix typos 2020-11-06 16:48:40 +01:00
Matej Bukovinski 73cc7ba023 Add link to SDK Privacy Practices 2020-11-06 16:31:57 +01:00
Matej Bukovinski 9ce87e2a54 Merge pull request #602 from alexshepard/patch-1
fix simple typo in Readme
2020-09-08 06:53:21 +02:00
Daniel Shelley 71b7092441 change deployment target to iOS 9 to fix Archiving with Xcode 12 2020-07-17 16:30:33 -06:00
Alex Shepard 11fc6023b4 fix typo 2020-05-21 11:41:41 -07:00
Matej Bukovinski 61fb89ce30 Update copyright year 2020-02-19 12:55:10 +01:00
Matej Bukovinski 5097c9c14f Silence tvOS warning 2020-02-19 12:55:10 +01:00
Matej Bukovinski 24ff51d11d Remove the note about the not-so-recent rewrite 2020-01-13 23:19:30 +01:00
Matej Bukovinski 794de3587a Bump version 2020-01-13 21:34:29 +01:00
Matej Bukovinski 049b2f4dbd Update iOS version support note 2020-01-13 21:28:11 +01:00
Matej Bukovinski 3958dc56bf Add Catalyst support in the demo 2020-01-13 21:23:14 +01:00
Matej Bukovinski bf145ece96 Fix warnings on Mac Catalyst 2020-01-13 21:23:14 +01:00
Matej Bukovinski 74abf4aa76 Add conditionals to avoid warnings with UIActivityIndicatorViewStyleWhiteLarge 2020-01-13 21:23:14 +01:00
Matej Bukovinski 501fb0d0bc Enable testing from HudDemo 2020-01-13 21:23:14 +01:00
Matej Bukovinski c4d965d2c0 Merge pull request #581 from emreberge/master
Fix build warnings related to iOS 13 and Mac catalyst
2020-01-13 19:33:41 +01:00
Matej Bukovinski 898f027554 Merge pull request #564 from AccioSupport/master
Add support for SwiftPM & Accio
2020-01-09 08:52:43 +01:00
Cihat Gündüz be98d2d1cb [README] Add installation documentation for SwiftPM 2019-12-31 09:57:39 +01:00
Cihat Gündüz 8c7f89a5b9 [README] Add badge for SwiftPM support 2019-12-31 09:34:02 +01:00
Bruno Coelho 75673fdecc Fix SwiftPM naming issue using modulemap
# Conflicts:
#	Package.swift
2019-12-31 09:30:09 +01:00
Cihat Gündüz d18733fef4 [README] Document support & installation via Accio 2019-12-31 09:20:42 +01:00
Cihat Gündüz 5dcbf5b191 Add basic SwiftPM manifest file 2019-12-31 09:20:42 +01:00
Elffin Farnon-Turner 915134629f Update Contributing docs 2019-12-16 22:20:50 +01:00
Matej Bukovinski 0c7ea5defd Merge pull request #590 from matej/matej/updates
Updates for latest iOS and Xcode
2019-12-16 22:18:38 +01:00
Matej Bukovinski 3fdde685bc Remove UILaunchImages 2019-12-16 22:04:16 +01:00
Matej Bukovinski 0581fc848d Tweak example UI for Dark Mode 2019-12-16 22:00:55 +01:00
Matej Bukovinski 9ba89d33f7 Use a thicker material 2019-12-16 21:53:38 +01:00
Matej Bukovinski 3aa49153e1 Switch to appletvsimulator sdk 2019-12-16 21:31:34 +01:00
Matej Bukovinski 998d32df35 Disable code signing 2019-12-16 21:15:37 +01:00
Matej Bukovinski bf31ebe9e6 Address more tvOS issues 2019-12-16 21:15:24 +01:00
Matej Bukovinski cb9d028f2a Bump simulator version 2019-12-16 20:40:06 +01:00
Matej Bukovinski ace36f8aa2 Clean up code code sign config 2019-12-16 18:12:40 +01:00
Matej Bukovinski d0669df745 Adjust tvOS compatibility 2019-12-16 18:08:40 +01:00
Matej Bukovinski 7bedf36884 Update simulator version 2019-12-16 17:33:54 +01:00
Matej Bukovinski 48f79c8e20 Remove explicit xcpretty setup 2019-12-16 15:57:28 +01:00
Matej Bukovinski b0db9a82c4 Fix tvOS build and use better defaults for the background view 2019-12-16 15:53:56 +01:00
Matej Bukovinski 27d9ade6ea Bump Xcode on CI 2019-12-16 15:37:39 +01:00
Matej Bukovinski 1ec0e9cf81 Resolve Xcode warnings 2019-12-16 15:33:06 +01:00
Matej Bukovinski 116ae6bb45 Merge pull request #579 from larsschwegmann/master
Add iOS 13 Dark Mode support
2019-12-16 15:30:24 +01:00
Matej Bukovinski 3139692a41 Merge pull request #585 from dvshelley/master
fix Xcode 11 warnings, default localization
2019-12-16 15:13:22 +01:00
Matej Bukovinski deb72a4a7b Merge pull request #588 from rojo69/master
Empty button shown beneath spinner when latest Facebook SDK is used.
2019-12-16 15:12:35 +01:00
Roger Jönsson 25aed45cc8 Changed to an "or" statement. 2019-12-10 15:12:11 +01:00
Roger Jönsson bf2f7fb663 Only display button if it has no targets and no title. Latest version of Facebook SDK add targets to most buttons in order to track conversions (I guess). 2019-12-10 14:53:32 +01:00
Daniel Shelley f0e2b694b0 fix Xcode 11 warnings, default localization 2019-11-20 10:36:11 -07:00
Emre Berge Ergenekon a570ddafc4 Don't track status bar orientation on mac catalyst 2019-08-28 12:50:00 -04:00
Emre Berge Ergenekon 60983ca46c Handle deprecated UIActivityIndicatorViewStyleWhiteLarge when building with iOS 13 SDK 2019-08-28 12:48:58 -04:00
Lars Schwegmann 0a86894703 Change UIBlurEffectStyle 2019-08-08 17:06:15 +02:00
Lars Schwegmann e2d8b33d03 Add iOS 13 Dark Mode support 2019-08-08 15:27:33 +02:00
Matej Bukovinski d2842c9124 Merge pull request #567 from jhildensperger/patch-1
MBProgressHUD.h Fix typo in comment
2019-07-14 22:27:33 +02:00
Matej Bukovinski 9c9771ef27 Merge pull request #572 from kervich/master
Fix swift compiler error
2019-07-14 22:26:54 +02:00
Matej Bukovinski d52dc41576 Merge pull request #558 from andyRon/patch-1
Update MBProgressHUD.h
2019-07-14 22:25:45 +02:00
Matej Bukovinski 9a0d8e288d Disable motion effects by default 2019-07-14 22:12:49 +02:00
Matej Bukovinski 71ab8c0b52 Remove debug code 2019-07-14 22:10:56 +02:00
Matej Bukovinski c9cde526db Merge pull request #578 from matej/matej/motion
Lazy motion effects init
2019-07-14 22:03:01 +02:00
Matej Bukovinski f25d9697f2 Modify motion effect initialization
to ensure the motion effects are not instantiated needlessly.
2019-07-14 21:57:39 +02:00
Matej Bukovinski 4d90a04699 Remove runtime checks
They are  not needed on iOS 8 and later.
2019-07-14 21:28:40 +02:00
Matej Bukovinski df1a29bfa8 Update for iOS 8 2019-07-14 21:27:29 +02:00
Matej Bukovinski bdd4ca3272 Remove obsolete SDK checks 2019-07-14 21:27:10 +02:00
Andrey Yurkevivch dcd72533c8 Fix swift compiler error
Swift compiler treats `MBProgressHUD.HUDForView(_ view:)` as erroneous
method, suggesting a fix-it that replaces the call with `.init(with view:)`
Adding an NS_SWIFT_NAME with non-capitalized function name solves
the issue (and makes swift API more intuitive)
2019-06-14 12:15:42 +03:00
Jim Hildensperger 3c410dd1ff Fix typo in comment 2019-05-02 14:21:28 +02:00
Andy Ron 29b8447b9c Update MBProgressHUD.h 2019-01-05 11:44:24 +08:00
Matej Bukovinski 202d8895c6 Merge pull request #91 from matej/matej/test-shape
Add HUD shape test
2018-11-04 19:23:25 +01:00
Matej Bukovinski 2347f40e0f Merge pull request #548 from matej/matej/remove-legacy
Remove legacy checks
2018-11-04 19:20:59 +01:00
Matej Bukovinski b934604028 Merge pull request #549 from matej/matej/test-order
Test order
2018-11-04 19:20:44 +01:00
Matej Bukovinski 04747f8b3d Add test for https://github.com/jdg/MBProgressHUD/pull/525 2018-11-04 19:19:20 +01:00
Matej Bukovinski 80f66aa5e7 Remove iOS 7 header code 2018-11-04 19:00:17 +01:00
Matej Bukovinski 257ec88cbc Remove legacy checks (deployment target is already >= iOS 8) 2018-11-04 18:53:31 +01:00
Matej Bukovinski 27c21b2907 Remove whitespace 2018-11-04 18:36:27 +01:00
Matej Bukovinski 8782fbf288 Merge pull request #525 from nicolasgomollon/master
Fixed bug with subview ordering.
2018-11-04 18:32:31 +01:00
Matej Bukovinski 8df5e8ca98 Merge pull request #528 from wenxiangjiang/master
Remove deprecated code
2018-05-16 19:47:54 +02:00
Matej Bukovinski c161ea4227 Merge pull request #530 from Coeur/master
Updating project for Xcode 9.3 recommended settings.
2018-05-16 11:17:46 +02:00
Antoine Cœur d591e1a8e2 Updating project for Xcode 9.3 recommended settings. 2018-04-23 13:24:28 +08:00
Liu Peng e23fad1476 Remove deprecated code 2018-03-06 22:43:05 +08:00
Nicolas Gomollon 56fe3e6a87 Fixed bug with subview ordering.
Fixed bugs jdg/MBProgressHUD#516 and jdg/MBProgressHUD#509
2018-02-19 16:02:43 -08:00
Matej Bukovinski b74d8e890e Add HUD shape test 2018-02-07 18:39:05 +01:00
Matej Bukovinski c954ef3806 Merge pull request #513 from niveus/Remove-NSLog
Remove NSLog
2017-11-30 21:19:46 +01:00
jason c63cf1840e Remove NSLog 2017-11-30 09:52:15 -08:00
Matej Bukovinski a90765f5f2 Merge pull request #90 from matej/matej/hide-timer-race
Prevent a race when invalidating the hide timer
2017-11-29 10:58:30 +01:00
Matej Bukovinski 549fa28546 Add a test case for the hide delayed race 2017-11-29 10:00:37 +01:00
Matej Bukovinski 1f1d7ce8bd Use the new method signature in comments 2017-11-29 09:28:36 +01:00
Matej Bukovinski 16e8622f52 Prevent a race when invalidating the hide timer 2017-11-29 09:27:03 +01:00
Matej Bukovinski f851a0bde0 Add CONTRIBUTING guidelines 2017-11-14 09:11:12 +01:00
Matej Bukovinski ef9bd9679f Test some HUD modes 2017-11-12 18:17:33 +01:00
Matej Bukovinski d34d348a6a Test initializers 2017-11-12 17:04:42 +01:00
Matej Bukovinski 364a0fad0b Remove a deprecated property 2017-11-12 16:57:56 +01:00
Matej Bukovinski d4166737ca Improve documentation 2017-11-12 16:35:32 +01:00
Matej Bukovinski 643b58c62f Remove deprecated code 2017-11-12 16:25:27 +01:00
Matej Bukovinski 8839e57987 Prevent calling UI code on background threads 2017-11-12 16:11:49 +01:00
Matej Bukovinski 7e02366094 Bump deployment target 2017-11-12 11:28:10 +01:00
Matej Bukovinski ec887003cc Release 1.1 2017-11-12 09:51:07 +01:00
Matej Bukovinski 17ac00a076 Update screenshot references 2017-11-05 19:29:51 +01:00
Matej Bukovinski 96d3e9c424 Merge branch 'master' of github.com:jdg/MBProgressHUD 2017-11-05 18:34:35 +01:00
Florian Morello 4131642c82 cleanup 2017-11-05 18:34:09 +01:00
Florian Morello 7777e6dec8 sharing scheme tvos 2017-11-05 18:34:09 +01:00
Florian Morello 2de9404fff create tvos target 2017-11-05 18:34:09 +01:00
Matej Bukovinski 07be9e2326 Merge pull request #418 from arsonik/master
tvOS Framework
2017-11-04 19:23:46 +01:00
Matej Bukovinski 337d7c5c0d Merge branch 'master' of github.com:jdg/MBProgressHUD 2017-11-04 19:19:33 +01:00
jasonwu127@gmail.com 4f620828d8 for MBBarProgressView: 1.use CGContextDrawPath with kCGPathFillStroke instead of CGContextFillPath and CGContextStokePath; 2. delete redundant CGContextAddLineToPoint 2017-11-04 19:19:16 +01:00
こぴなたみぽ 60853bb7c3 Update README.mdown 2017-11-04 19:19:16 +01:00
Wolfgang Lutz 2d0b0e0540 fix typos using misspell 2017-11-04 19:19:16 +01:00
Jason Gavris 8919a10146 Add support for configuring blur effect style 2017-11-04 19:19:16 +01:00
Matej Bukovinski 69fbbf6704 Merge pull request #415 from molon/master
Keep bounds.origin is always CGPointZero
2017-11-04 19:15:35 +01:00
Matej Bukovinski 9097100c14 Merge pull request #434 from esetnik/master
update gitignore for carthage submodules support
2017-11-04 19:14:01 +01:00
Matej Bukovinski 3383703d3e Merge pull request #446 from CoderLT/master
Cancel any scheduled hideDelayed
2017-11-04 18:56:32 +01:00
Matej Bukovinski d235a969bc Merge pull request #466 from ButterflyNetwork/blur-effect-style
Add support for configuring blur effect style
2017-11-04 18:37:12 +01:00
Matej Bukovinski 48e100ed08 Merge pull request #476 from fixTypos/fix_typos
fix typos using misspell
2017-11-04 18:24:22 +01:00
Matej Bukovinski 862c2003a7 Merge pull request #477 from syuilo/master
Fix typo
2017-11-04 18:22:54 +01:00
Matej Bukovinski 9a019cb420 Merge pull request #497 from foolish-boy/master
for MBBarProgressView: 1.use CGContextDrawPath with kCGPathFillStroke…
2017-11-04 18:20:38 +01:00
Matej Bukovinski 1afb2dce67 Add missing icons 2017-11-03 19:56:21 +01:00
Matej Bukovinski 63f5e9ec5e Fix group references 2017-11-03 19:47:26 +01:00
Matej Bukovinski b508641808 Reference new API. 2017-11-03 18:42:07 +01:00
Matej Bukovinski 503daa92d0 Merge pull request #88 from matej/matej/xc9-iOS11
Xcode 9 and iOS 11 changes
2017-11-03 18:31:12 +01:00
Matej Bukovinski bb26c1046d Move to xcodebuild 2017-10-27 11:27:52 +02:00
Matej Bukovinski 809662b2a8 Revert "Don't clean"
This reverts commit dc9257d448.
2017-10-19 21:47:08 +02:00
Matej Bukovinski dc9257d448 Don't clean 2017-10-19 20:30:03 +02:00
Matej Bukovinski 2db1b9f52b Merge pull request #86 from sushant40/master
Fixing example
2017-10-19 19:17:37 +02:00
Matej Bukovinski 3e2e49ea58 Update travis to Xcode 9 2017-10-19 19:09:38 +02:00
Matej Bukovinski b6b64697d5 Apply project modernization 2017-10-19 19:04:36 +02:00
jasonwu127@gmail.com af1f2ba839 for MBBarProgressView: 1.use CGContextDrawPath with kCGPathFillStroke instead of CGContextFillPath and CGContextStokePath; 2. delete redundant CGContextAddLineToPoint 2017-08-28 11:26:34 +05:30
Matej Bukovinski ddd6a21502 Merge pull request #495 from filmhomage/patch-1
Fix broken image link in README.md
2017-08-24 18:50:29 +02:00
Jonghyun Kim 2926f383dc Fix broken image link. in README.md 2017-08-22 11:18:09 +02:00
Matej Bukovinski bcd2aa4020 Merge pull request #87 from DwayneCoussement/strict-prototype
CLANG_WARN_STRICT_PROTOTYPES: Yes please!
2017-08-16 11:29:53 +02:00
Dwayne Coussement 93b904c8d8 CLANG_WARN_STRICT_PROTOTYPES: Yes please! 2017-08-14 14:36:35 +02:00
Matej Bukovinski a7c3601fbd Switch image location 2017-06-02 10:43:23 -07:00
こぴなたみぽ 66c322e239 Update README.mdown 2017-05-23 19:12:58 +09:00
Wolfgang Lutz 546b96ddb0 fix typos using misspell 2017-05-20 12:01:50 +02:00
Matej Bukovinski c843711aa8 Merge pull request #459 from 4brunu/master
Fix show multiple Hud’s and them to hide them
2017-05-19 14:32:13 +02:00
Sushant Verma 4fc565d856 Fixing example 2017-05-18 11:24:32 +10:00
Jason Gavris ea0d907fff Add support for configuring blur effect style 2017-03-16 17:20:37 -04:00
Bruno Coelho ec7d1e4aca Fix show multiple Hud’s and them to hide them 2017-02-09 12:05:18 +00:00
Matej Bukovinski aec802ba2c Merge pull request #447 from kayak/extension-safe
Restrict framework to extension-safe API
2016-11-29 12:29:04 +01:00
Johannes Marbach e1e6052966 Restrict framework to extension-safe API
This allows the HUD to be used e.g. in iMessage app extension
2016-11-04 14:17:04 +01:00
神秘de路人甲 93ed629c62 Cancel any scheduled hideDelayed
Cancel any scheduled hideDelayed
2016-11-03 18:57:38 +08:00
Matej Bukovinski 51291d888e Merge pull request #436 from carlSQ/tableview
fix bug: when the origin of superview's bounds  is not zero , the progressHUD is misplaced
2016-09-27 09:28:56 +02:00
qiang.shen 0088039ee7 when bounds origin is not zero 2016-09-27 09:05:46 +08:00
Ethan Setnik e52e83e428 update gitignore for carthage submodules support 2016-09-19 12:31:58 -04:00
Matej Bukovinski 6424bb843b Merge pull request #428 from bhargavms/patch-2
Fixed a wrong comment, for MBProgressHUDModeText usage.
2016-09-14 13:15:52 +02:00
Bhargav Mogra 117d524029 Fixed a wrong comment, for MBProgressHUDModeText usage. 2016-09-14 16:44:30 +05:30
Matej Bukovinski cd545e566d Merge pull request #426 from bhargavms/patch-1
Fixed a couple of typos in the comments.
2016-09-14 12:58:52 +02:00
Bhargav Mogra e5ff0eb91b Fixed a couple of typos in the comments. 2016-09-14 15:12:54 +05:30
Florian Morello 89f63d0f1f cleanup 2016-08-30 10:58:32 +02:00
Florian Morello 93dac913fa sharing scheme tvos 2016-08-30 10:34:50 +02:00
Florian Morello 489a91eeda create tvos target 2016-08-30 10:33:45 +02:00
molon 374a708c7c Keep bounds.origin is always CGPointZero 2016-08-20 18:00:53 +08:00
Matej Bukovinski 59a8240da6 Update CHANGELOG.mdown
Mentioning the new button API
2016-07-17 11:27:30 +02:00
Matej Bukovinski dffe0e2763 Update version in the readme 2016-07-17 11:11:19 +02:00
Matej Bukovinski bb8e454998 Disable launch images an icons on tvOS
This reverts commit dbbb9e7b08.
2016-07-17 10:43:49 +02:00
Matej Bukovinski 302e56caa4 Revert "Removes demo Travis CI builds "
This reverts commit 9365cb42e8.
2016-07-17 10:43:25 +02:00
Matej Bukovinski dbbb9e7b08 Revert "Disables launch images an icons on tvOS"
This reverts commit 6d8aabcb35.
2016-07-17 10:31:04 +02:00
Matej Bukovinski 9365cb42e8 Removes demo Travis CI builds
xctool appears unreliable
2016-07-17 10:30:12 +02:00
Matej Bukovinski 0f0686cc18 Update changelog 2016-07-17 10:23:28 +02:00
Matej Bukovinski 6d8aabcb35 Disables launch images an icons on tvOS
Works around asset catalog compilation issues
2016-07-17 10:21:25 +02:00
Matej Bukovinski 5a5e8b1b12 Restructured assets 2016-07-17 10:13:48 +02:00
Matej Bukovinski bc89f10b91 Reduced size of image assets 2016-07-17 09:43:21 +02:00
Matej Bukovinski 9f5c392d49 Add launch limage 2016-07-17 09:38:26 +02:00
Matej Bukovinski 772efaa7ec Add tv app icons 2016-07-17 09:26:20 +02:00
Matej Bukovinski 95ac3cc577 Configure hud demo build for travis 2016-07-17 08:48:35 +02:00
Matej Bukovinski b8e4ad0fcc Configure travis build for the tv-os app 2016-07-17 08:46:35 +02:00
Matej Bukovinski 6cdb787c21 Add tvOS example and restructure iOS example 2016-07-17 08:37:57 +02:00
Matej Bukovinski e946b05a9a Fix tvOS build errors 2016-07-17 08:37:26 +02:00
Matej Bukovinski 740d475fe8 Update gitignore 2016-07-17 07:59:58 +02:00
Matej Bukovinski 1dc32f2e4d Add changelog entry for 1.0 2016-07-17 07:53:42 +02:00
Matej Bukovinski 406eb5e62f Remove partial test 2016-07-17 07:40:36 +02:00
Matej Bukovinski 0416fa6c6f Improve display link creation 2016-07-17 07:29:40 +02:00
Matej Bukovinski 7e1f4b6a33 Clean up display link management 2016-07-17 07:19:47 +02:00
Matej Bukovinski 1f794f62eb Use NSProgress cancelation 2016-07-17 07:04:59 +02:00
Matej Bukovinski b11d70c22d Format 2016-07-17 07:00:47 +02:00
Matej Bukovinski ae9dd5f244 Use more manageable unit counts 2016-07-17 06:59:17 +02:00
Matej Bukovinski 643c6d1727 Merge branch 'master' into alistra-master 2016-07-17 06:54:29 +02:00
Matej Bukovinski 18127ef046 Bump version 2016-07-17 06:53:27 +02:00
Matej Bukovinski a29c736ef8 Changelog formatting 2016-07-17 06:53:15 +02:00
Matej Bukovinski 2171272be3 Avoids unnecessarily calling updatePaddingConstraints 2016-07-07 07:46:33 +02:00
Matej Bukovinski fd6548f547 Merge pull request #393 from ychzzhcy/master
fix typo
2016-06-30 09:08:22 +02:00
ychzzhcy 61e5236bd3 fix typo 2016-06-30 13:57:10 +08:00
Matej Bukovinski 2546c7efd9 Merge pull request #391 from DinosaurDad/master
Fixed a crash on iOS 8.x and earlier
2016-06-23 22:14:10 +02:00
Matt Palcic c8c91f7783 Fixed a crash on iOS 8.x and earlier 2016-06-23 14:31:53 -04:00
Matej Bukovinski 33eb2ddbe8 Merge pull request #390 from longpham2310/master
Fixes for deprecated  api
2016-06-23 09:30:28 +02:00
longpham 3baf8db932 Fixes for deprecated api 2016-06-23 13:38:01 +07:00
Matej Bukovinski 7f12067e3b Merge branch 'master' of https://github.com/alistra/MBProgressHUD into alistra-master 2016-06-19 13:42:25 +02:00
Matej Bukovinski ca93b61a84 Fixed runtime checks for UIBlurEffect. 2016-06-19 12:53:16 +02:00
Matej Bukovinski f663584e42 Prioritize UIAppearance over contentColor. 2016-06-19 12:17:34 +02:00
Matej Bukovinski 4acabac2e3 Merge branch 'master' of github.com:jdg/MBProgressHUD 2016-06-19 11:41:49 +02:00
Matej Bukovinski 4762896393 Implemented the dim background example. 2016-06-19 11:41:40 +02:00
Matej Bukovinski d6f3e37d7b Implemented the color example. 2016-06-19 11:37:43 +02:00
Matej Bukovinski ad8148d32e Merge pull request #366 from carezone/yas-animation-interruption
Don't depend on `finished` from animation completion block
2016-06-19 02:32:02 -07:00
Matej Bukovinski 3de6e1398f Merge branch 'master' of github.com:jdg/MBProgressHUD 2016-06-03 20:26:26 +02:00
Matej Bukovinski c2d44aa0e8 Added a completion block test. 2016-06-03 20:25:48 +02:00
Matej Bukovinski 383e8f5131 Brought back completionBlock from the dead. 2016-06-03 20:25:34 +02:00
Matej Bukovinski f3732cc105 Merge pull request #375 from kayak/fix-spelling
Fix spelling errors in internal and external comments
2016-05-10 06:34:15 -04:00
Johannes Marbach 316cb39f86 Fix spelling errors in internal and external comments 2016-05-10 11:59:46 +02:00
Aleksander Balicki ba3bd1b313 Added support for NSProgress 2016-05-03 13:57:39 +02:00
Matej Bukovinski 5c3b93fe4f Merge branch 'master' of github.com:jdg/MBProgressHUD 2016-04-16 08:30:22 +02:00
Matej Bukovinski abf99ff2c3 Ensure label background is always clear. 2016-04-16 08:29:48 +02:00
Victor Ilyukevich 5ec046ae8e Remove from superview even if animation wasn't finished
Steps to reproduce in the sample app
1. Tap on a "Determinate mode" to bring the HUD
2. While the HUS is still presented background the app
3. Wait for 5 seconds until the HUD should have disappered
4. Foreground the app

Expected: no HUD, you can interact with the app.
Result without this: you can't interact with the app.

It happens because HUD wasn't removed from its superview. And it wasn't
removed because the app was in background when `hideAnimated:` was
called and animation wasn't finished.
2016-04-15 19:58:40 -07:00
Victor Ilyukevich 874860e0f5 Failing unit test to show the HUD is not removed 2016-04-15 19:58:33 -07:00
Matej Bukovinski 605f9d762e Merge pull request #362 from GeekHan/master
fixed setMargin no effect
2016-04-05 13:17:34 +02:00
韩冬 b1b206c7ca fixed setMargin no effect 2016-04-05 18:36:56 +08:00
Matej Bukovinski e9408d01f3 Merge pull request #359 from hwittland/master
changed completionBlock handling
2016-04-02 21:25:39 +02:00
Matej Bukovinski c9028d2412 Cleanup and extended comment. #356 2016-04-02 21:20:15 +02:00
Matej Bukovinski 1a7424df44 Merge pull request #356 from IFTTT/master
Add support for app extensions.
2016-04-02 21:16:53 +02:00
Matej Bukovinski 73f3353a93 Merge branch 'master' of github.com:jdg/MBProgressHUD 2016-04-02 20:26:50 +02:00
Matej Bukovinski 49c1136fa6 Extended documentation. #358 2016-04-02 20:26:06 +02:00
Matej Bukovinski d802c7c73c Delayed hide test. 2016-04-02 20:16:52 +02:00
Matej Bukovinski ebdd2ff653 Cleanup. 2016-04-02 19:55:31 +02:00
Matej Bukovinski 7e65c68e9f Grace time tests. 2016-04-02 19:54:46 +02:00
Matej Bukovinski 32843df5b6 Consolidated some common tests into reusable macros. 2016-04-02 19:37:02 +02:00
Matej Bukovinski f6913b4db1 Min show time test. 2016-04-02 19:18:50 +02:00
Matej Bukovinski f39a83aef6 Improved HUD reuse & tests. #292 #335 2016-04-02 18:49:42 +02:00
Matej Bukovinski 7ea2306a8d Made timer properties weak.
So they automatically become nil when the timers get invalidated.
2016-04-02 15:45:21 +02:00
Matej Bukovinski 14ec8907af Invalidating the previous min show timer if showing again. 2016-04-02 15:41:23 +02:00
Matej Bukovinski 57d5f406b1 Invalidate grace timer when hiding.
Allows quicker deallocation when a grace time is given.
2016-04-02 15:30:15 +02:00
Matej Bukovinski 782538a3fc Hide timer invalidation. 2016-04-02 15:29:04 +02:00
Matej Bukovinski 00b84fa176 Merge branch 'devSC-master' 2016-04-02 15:04:17 +02:00
Matej Bukovinski 4b359365ac Merge branch 'master' of https://github.com/devSC/MBProgressHUD into devSC-master 2016-04-02 14:54:49 +02:00
Matej Bukovinski 29f8ddc9cf Merge pull request #357 from arsonik/master
Add tvOS deployment target
2016-04-02 14:41:26 +02:00
Henrik Wittland a6d9f95b1e changed completionBlock handling 2016-03-30 11:30:30 +02:00
Florian Morello 5fb23d6df8 Fix target conditionals TARGET_OS_TV 2016-03-29 15:23:37 +02:00
Florian Morello a46e1bc21f use TARGET_OS_TV TargetConditionals 2016-03-29 15:14:28 +02:00
Florian Morello 15718b937d fix deployment target for tvos
according to https://guides.cocoapods.org/syntax/podspec.html#deployment_target
2016-03-29 14:45:41 +02:00
Florian Morello 2703ca1601 Add support of tvOS 2016-03-29 14:38:00 +02:00
Jon Chmura fbf05a09c2 Use performSelector on UIApplication sharedApplication to avoid extension compilation errors. 2016-03-22 13:30:41 -07:00
Jon Chmura 7105c505c8 Revert "Removed iOS < 8 specific code that lacked app extension support."
This reverts commit 8bb8d79140.
2016-03-22 13:21:47 -07:00
Jon Chmura 8bb8d79140 Removed iOS < 8 specific code that lacked app extension support. 2016-02-23 18:27:29 -08:00
Matej Bukovinski 80fc1445c0 Merge pull request #349 from wcxdell/master
fix a little bug about graceTime,only one line code
2016-02-17 15:06:00 +01:00
wcxdell 225de3cb29 graceTime 2016-02-16 19:44:54 +08:00
Matej Bukovinski f6864fd49e Merge pull request #348 from ReadmeCritic/master
Correct the spelling of CocoaPods in README
2016-02-12 23:45:29 +01:00
ReadmeCritic cc19e2277b Correct the spelling of CocoaPods in README 2016-02-12 13:24:56 -08:00
ReadmeCritic 4d8c0a7f18 Correct the spelling of CocoaPods in README 2016-02-12 13:24:08 -08:00
Matej Bukovinski 89218d6043 Moving the super call to the end of the method.
As per documentation.
2016-02-11 21:16:05 +01:00
Matej Bukovinski c46e739db0 Merge pull request #340 from mikrohard/constraint-fixes
Constraint fixes
2016-02-11 21:10:00 +01:00
Jernej a578f8084b Remove old constraints on top/bottom spacer before adding new constraints 2016-02-01 22:31:58 +01:00
Jernej 24e4fee6f5 Fix intrinsic content size of bezel view 2016-02-01 22:29:49 +01:00
Matej Bukovinski 2107d0d6a3 Better support for xibs. 2016-01-31 17:38:29 +01:00
Matej Bukovinski e733e566c8 Added codecov badge. 2016-01-31 17:13:50 +01:00
Matej Bukovinski a3d360c6a2 Update README.mdown 2016-01-31 17:11:48 +01:00
Matej Bukovinski ae19a541b3 Merge pull request #68 from matej/v1
Code and UI modernization
2016-01-31 16:59:04 +01:00
Matej Bukovinski 5935c741ab Update README.mdown 2016-01-31 16:54:33 +01:00
Matej Bukovinski 6185a5e4f6 Merge branch 'master' into v1 2016-01-31 16:49:40 +01:00
Matej Bukovinski cc02637cc5 New images. 2016-01-31 16:41:40 +01:00
Matej Bukovinski 9c91d4e776 Added missing documentation. 2016-01-31 16:03:44 +01:00
Matej Bukovinski 011c76ede6 Added nullability. 2016-01-31 16:02:19 +01:00
Matej Bukovinski de4938c0bb Converting tabs to spaces. 2016-01-31 15:44:38 +01:00
Matej Bukovinski 9d59d0bbee Revert "Updated codecov integration. "
This reverts commit 3e64c75ebc.
2016-01-31 15:17:38 +01:00
Matej Bukovinski 3e64c75ebc Updated codecov integration. 2016-01-31 15:14:39 +01:00
Matej Bukovinski fa6b939fa7 Explicit destination setting. 2016-01-31 15:09:14 +01:00
Matej Bukovinski 354346840f Added changelog. 2016-01-31 15:02:01 +01:00
Matej Bukovinski 8c9aacb712 codecov.io integration 2016-01-31 14:56:14 +01:00
Matej Bukovinski 66ecfd19fb Added SDK configuration option. 2016-01-31 14:48:05 +01:00
Matej Bukovinski ae6aabb87e Configured test scheme for running. 2016-01-31 14:47:56 +01:00
Matej Bukovinski 7a2b1ec8d7 Scheme and travis setup for the new tests. 2016-01-31 14:36:55 +01:00
Matej Bukovinski 2960142018 Added some initial tests. 2016-01-31 14:30:30 +01:00
Wilson Yuan 2dbe3e42d0 Fix delay problem when hud show in the scrollview. 2015-12-30 20:54:27 +08:00
Matej Bukovinski 323efb5ffd Re-arranged examples. 2015-12-30 09:05:19 +01:00
Matej Bukovinski fdff68e528 Added a button element and cancelation example. 2015-12-29 21:28:01 +01:00
Matej Bukovinski 0b43a40bc6 Added additional icons. 2015-12-29 16:15:56 +01:00
Matej Bukovinski c6311feb43 Merge pull request #323 from aral/carthage-readme-update
Updated readme to add installation instructions for Carthage.
2015-12-22 14:16:01 +01:00
Aral Balkan fbb5141587 Updated the readme to add installation instructions and badge for Carthage support. Also added badges for Cocoapods support and the license. 2015-12-22 12:58:05 +00:00
Matej Bukovinski 3bc170a91d Version bump. 2015-12-22 08:35:33 +01:00
Matej Bukovinski 93c6958242 Touched by Xcode. 2015-12-22 08:34:36 +01:00
Matej Bukovinski 2fbcbae6a2 Merge pull request #319 from valeriyvan/patch-1
Typo fixed.
2015-12-14 10:29:11 +01:00
Valeriy Van 2a2f1598e8 Typo fixed. 2015-12-12 17:18:19 +02:00
Matej Bukovinski dec9671f70 Setting the compression factors when first creating the views. 2015-12-05 18:51:38 +01:00
Matej Bukovinski a1302e953a Added support for motion effects. 2015-12-05 18:35:30 +01:00
Matej Bukovinski 82cbc6f6b0 More powerful offset handling and improved autolayout constraints. 2015-12-05 18:09:42 +01:00
Matej Bukovinski f303b71e94 Removed separator. 2015-12-05 14:12:00 +01:00
Matej Bukovinski 690dd7614b Merge pull request #316 from rokgregoric/master
ActivityIndicatorColor should change progressTintColor for modes Dete…
2015-11-30 19:59:57 +01:00
Rok Gregorič 9204c36a37 ActivityIndicatorColor should change progressTintColor for modes Determinate and AnnularDeterminate. 2015-11-27 15:23:11 +01:00
Matej Bukovinski 1db6c6d77c Formatting. 2015-11-23 11:13:16 +01:00
Matej Bukovinski 4790013427 Fixed issues with overlapping alpha components. 2015-11-23 11:12:14 +01:00
Matej Bukovinski 1fdda7fb51 Merge pull request #311 from rounak/patch-1
fix typo
2015-11-11 08:36:24 +01:00
Rounak 5b2fb4a8e8 fix typo 2015-11-10 16:15:42 -08:00
Matej Bukovinski 4624d82d9a Removed obsolete entry. 2015-10-30 09:23:16 +01:00
Matej Bukovinski dc5fe5a3a7 Added some more examples. 2015-10-30 09:22:36 +01:00
Matej Bukovinski 33b2f61d61 Merge branch 'master' into v1 2015-10-30 07:51:16 +01:00
Matej Bukovinski f089d2a035 Merge pull request #306 from kambala-decapitator/master
fix compilation for tvOS
2015-10-26 07:39:25 +01:00
Andrey Filipenkov 68b3c7480d fix compilation for tvOS 2015-10-22 15:33:46 +02:00
Matej Bukovinski cada260e74 Merge pull request #304 from tomco/master
Add Carthage support
2015-09-19 22:28:51 +02:00
Tobias Ottenweller 019cae8314 marked framework scheme as shared. 2015-09-19 12:50:17 +02:00
Matej Bukovinski 951568b2c5 Determinate mode example. 2015-09-14 09:20:57 +02:00
Matej Bukovinski f2361de0b6 Added examples for the first section. 2015-09-14 09:13:42 +02:00
Matej Bukovinski bafe0e3d14 Improved and documented the indeterminate example. 2015-09-14 09:03:23 +02:00
Matej Bukovinski 1e276402b9 Matching floating point style. 2015-09-14 08:54:31 +02:00
Matej Bukovinski 200c7393d6 Adjusted selection color. 2015-09-14 08:54:05 +02:00
Matej Bukovinski 789127c0e6 Global styling. 2015-09-14 08:52:00 +02:00
Matej Bukovinski 7214621068 Matching up launch storyboard background color. 2015-09-14 08:46:58 +02:00
Matej Bukovinski 66dfd14a98 Grouping examples. 2015-09-14 08:44:04 +02:00
Matej Bukovinski 4f54a2fa62 Switching to Xcode 7. 2015-09-14 08:18:12 +02:00
Matej Bukovinski 7391373de1 Exposed the framework scheme. 2015-09-14 08:00:50 +02:00
Matej Bukovinski ebd0f7d473 Removed test target (for now). 2015-09-14 08:00:01 +02:00
Matej Bukovinski ee53addbac Removed unnecessary framework search path. 2015-09-14 07:51:27 +02:00
Matej Bukovinski 8ad3217f8e Silencing selector warning. 2015-09-14 07:49:59 +02:00
Matej Bukovinski 7a13716d15 Initial work on the example redesign. 2015-09-13 13:50:28 +02:00
Matej Bukovinski 0647d46889 Custom background view support and dimming compatibility. 2015-09-13 12:02:44 +02:00
Matej Bukovinski 85d6948184 Setting the tint color for custom views on iOS 7+. 2015-09-13 11:40:02 +02:00
Matej Bukovinski 0690b7fdf4 Made the color an appearance selector. 2015-09-13 11:38:35 +02:00
Matej Bukovinski 8cd77c6565 Don't set the fill color on iOS 7+. 2015-09-13 11:33:23 +02:00
Matej Bukovinski eb5b08346b Refreshed the bar mode for iOS 7+. 2015-09-13 11:27:28 +02:00
Matej Bukovinski 5094d45f8c Refreshed the determinate mode for iOS 7+. 2015-09-13 11:24:35 +02:00
Matej Bukovinski b039d5dd86 Removed comment. 2015-09-13 10:42:03 +02:00
Matej Bukovinski 184bf5e9fb Removed the last remains of KVO. 2015-09-13 10:41:35 +02:00
Matej Bukovinski c2989e2530 Removed unused local var. 2015-09-13 10:32:18 +02:00
Matej Bukovinski 40084a69cd Color support. 2015-09-13 10:21:13 +02:00
Matej Bukovinski 4bf4207e14 Bumped demo deployment target to silence warnings. 2015-09-13 09:35:22 +02:00
Matej Bukovinski a440364a9d Reorganized the header and added sections. 2015-09-13 09:32:25 +02:00
Matej Bukovinski e208675d59 Initial background color support. 2015-09-13 09:22:15 +02:00
Matej Bukovinski 794daa144d Merge branch 'master' into v1 2015-09-13 08:48:11 +02:00
Matej Bukovinski 43b1ff26eb Merge pull request #272 from locarise/master
Added a framework target
2015-09-08 10:42:12 +02:00
Matej Bukovinski 343653cad7 Initial work on the hud background. 2015-08-18 07:51:23 +02:00
Matej Bukovinski f55d80a7b1 Custom setters for other properties with side effects. 2015-07-29 08:13:41 +02:00
Matej Bukovinski be79544453 Replaced KVO with custom setters. 2015-07-29 08:07:30 +02:00
Matej Bukovinski bfe2bd7e72 Support for square aspect ratios. 2015-07-29 07:20:11 +02:00
Matej Bukovinski bea8cd649d Support for minSize. 2015-07-28 09:06:22 +02:00
Matej Bukovinski 427b24d066 Honoring offset. 2015-07-28 08:18:43 +02:00
Matej Bukovinski 2fa6932545 Formatting 2015-07-28 08:06:56 +02:00
Matej Bukovinski 58eea2077c Updated legacy window rotation code. 2015-07-24 07:18:51 +02:00
Matej Bukovinski 9d3fa3ac39 Making sure that transforms are applied to the HUD bezel. 2015-07-24 07:04:10 +02:00
Matej Bukovinski bec47eff43 Re-added the alpha animation. 2015-07-24 06:59:37 +02:00
Matej Bukovinski f487a8fa17 Cleanup. 2015-07-24 06:58:06 +02:00
Matej Bukovinski 1efc22a47d Cleaner animation handling. 2015-07-23 21:38:58 +02:00
Matej Bukovinski 22dc7954c8 Removed obsolete set needs display call. 2015-07-23 21:05:52 +02:00
Matej Bukovinski 8aba5989c8 Documentation updates and spelling fixes. 2015-07-23 21:05:36 +02:00
Matej Bukovinski 8c0678b52c Scheduling minShowTimer in NSRunLoopCommonModes. 2015-07-19 18:50:20 +02:00
Matej Bukovinski bfa86eff5b Cleanup. 2015-07-18 17:22:41 +02:00
Matej Bukovinski 36a14f4644 Removed sizing helpers that are now obsolete due to auto layout. 2015-07-18 17:09:18 +02:00
Matej Bukovinski f3d2d9c63c Using template images. 2015-07-18 17:07:34 +02:00
Matej Bukovinski 1c0dc2e519 Cleaned up the API a bit more and updated the documentation. 2015-07-18 17:07:17 +02:00
Matej Bukovinski 6884364369 Fixes threading. 2015-07-17 08:52:30 +02:00
Matej Bukovinski 9e110dfe78 Implemented support for dynamic padding. 2015-07-17 08:52:20 +02:00
Matej Bukovinski 7afbf66cd3 Auto layout support for custom progress indicators. 2015-07-16 08:09:53 +02:00
Matej Bukovinski bce190f0f3 Improved layout. 2015-07-16 08:09:38 +02:00
Matej Bukovinski ceb113ed3d Fixed view insertion. 2015-07-16 08:09:06 +02:00
Matej Bukovinski 9d22e42d31 Formatting.. 2015-07-16 08:08:51 +02:00
Matej Bukovinski 3ee00aa2e7 Improved temporary bezel styling. 2015-07-16 08:08:36 +02:00
Matej Bukovinski b3c1864352 Patched progress adjustment. 2015-07-16 08:08:04 +02:00
Matej Bukovinski 252d75257e Initial work on the auto-layout migration. 2015-07-15 08:19:16 +02:00
Matej Bukovinski d8037ba621 New icon and checkmark image. 2015-07-14 21:26:41 +02:00
Matej Bukovinski 083c55f2d7 Removed default images. 2015-07-14 20:48:36 +02:00
Matej Bukovinski 3c7c146ebf Using a launch storyboard for the demo app. 2015-07-14 20:48:01 +02:00
Matej Bukovinski 5e99b1b7ba Added main thread assertions. 2015-07-14 07:55:07 +02:00
Matej Bukovinski 6afd859c27 Updated intro documentation. 2015-07-14 07:54:53 +02:00
Matej Bukovinski 4b5966376f Spacing. 2015-07-14 07:38:11 +02:00
Matej Bukovinski e10a8efdfb Adjusted data types. 2015-07-14 07:37:35 +02:00
Matej Bukovinski 96df2843df Deprecated threading helpers. 2015-07-14 07:34:27 +02:00
Matej Bukovinski 5f9fbd6540 Renamed show / hide methods. 2015-07-12 17:38:55 +02:00
Matej Bukovinski c7c95f4015 Deprecated multi-hide helpers. 2015-07-12 17:27:37 +02:00
Matej Bukovinski 7c165f0740 Deprecated initWithWindow. 2015-07-11 13:57:40 +02:00
Matej Bukovinski 78de340a1a Started depreciating label-related properties and exposed label and detailsLabel. 2015-07-07 08:17:13 +02:00
Matej Bukovinski 701f0b3ba5 Simplified showWhileExecuting: implementation.
Now leverages blocks.
2015-07-07 07:48:51 +02:00
Matej Bukovinski b926ea64d8 Removed @synthesize, migrated to using properties and modern instance var conventions. 2015-07-06 19:55:38 +02:00
Matej Bukovinski 5c4f8a60f0 Dropped support for manual memory management, bumped deployment target to iOS 5.0 to support weak references. 2015-07-03 08:09:01 +02:00
Matej Bukovinski 77828226b2 Added main thread assertions. 2015-06-27 14:15:48 +02:00
Matej Bukovinski b1564fd8d6 Schedule the grace timer in NSRunLoopCommonModes. 2015-06-27 13:59:04 +02:00
Matej Bukovinski f0c6d4dadb Added documentation & formatting. 2015-06-27 13:40:19 +02:00
Matej Bukovinski 501abeaaf3 Merge pull request #274 from MPieter/master
Resolution optimisation of demo application for iPhone 6 / 6+
2015-04-18 19:34:27 +02:00
Matej Bukovinski e73ea408b3 Performed project modernization. 2015-04-18 19:33:47 +02:00
Pieter Meiresone 1a541aedcd Resolution optimisation of demo application for iPhone 6 / 6+ 2015-04-18 18:36:49 +02:00
Fjölnir Ásgeirsson 1f70b49ff6 Enabled "no common blocks" warning 2015-04-13 11:24:08 +09:00
Fjölnir Ásgeirsson 81851db6a6 Added framework target 2015-03-31 11:08:06 +09:00
Matej Bukovinski ac7a7a8c5e Version bump to 0.9.1. 2015-03-06 08:58:12 +01:00
Matej Bukovinski 61addd2405 Cancel any scheduled hideDelayed: calls. 2015-03-06 08:50:42 +01:00
Alsey Coleman Miller cca92d1156 updated enum to NS_ENUM
Better practice and Swift support
2015-03-06 08:29:16 +01:00
Matej Bukovinski 5603383161 Merge branch 'tests' 2015-03-06 08:14:52 +01:00
Matej Bukovinski fceb09cc8b Merge branch 'master' of github.com:jdg/MBProgressHUD 2015-03-06 07:47:39 +01:00
Matej Bukovinski dc534dcb31 Alternative solution for the orientation discrepancy between iOS 7 and iOS 8.
Also avoid sharedApplication usage on iOS 8+ targets.
2015-03-06 07:46:57 +01:00
Matej Bukovinski ab71afed92 Added a note regarding developer tools 2015-03-06 07:28:35 +01:00
Matej Bukovinski a9f8fe88eb Update README.mdown
Switched back to the official build indicator (now in vector form).
2015-02-08 15:29:12 +01:00
Matej Bukovinski 5612808fb1 Update README.mdown
Higher quality build shield.
2015-02-08 15:27:17 +01:00
Matej Bukovinski fe388ef956 Removed a nonexistent test target from the test scheme. 2015-02-08 15:22:52 +01:00
Matej Bukovinski f6689c1c26 Added a sample test. 2015-02-08 15:16:17 +01:00
Matej Bukovinski 69c58ea278 Don't compare apples and oranges. 2015-02-05 08:20:07 +01:00
Matej Bukovinski 6033a0b1ad Fix color inconsistencies. 2015-02-05 07:59:15 +01:00
Matej Bukovinski 3ac3f787eb Merge branch 'master' of github.com:jdg/MBProgressHUD 2014-12-22 18:52:41 +01:00
Matej Bukovinski f75901d9b0 Merge pull request #61 from bcylin/master
Update outdated .travis.yml
2014-12-22 18:30:11 +01:00
Ben fddc5dbcdf Update .travis.yml 2014-12-23 01:10:07 +08:00
Jonathan George 28c44be413 Bring back inline with MateJ's fork 2014-11-03 07:54:28 -06:00
Jonathan George c938b0f0f7 Bump to v1.0, prep for release 2014-11-03 07:48:21 -06:00
Jonathan George 23023d7983 Release 0.10 with iOS8 support 2014-11-03 07:46:33 -06:00
Jonathan George f316d247ae Merge pull request #243 from epacces/fix/ios8/hudorientation
Fix/ios8/hudorientation
2014-11-03 07:42:04 -06:00
Eriprando Pacces f4aaad3906 Fixes issue #233
last and hopefully :) working attempt
2014-09-30 02:07:26 +01:00
Eriprando Pacces 2f44900d0d [BUG][iOS8]
- Fixes the incorrect HUD orientation on applications linked against an SDK < 8.0 running on iOS 8.x
Issue #233
2014-09-22 21:31:37 +01:00
Matej Bukovinski fc1903ff44 Basic iPad support for the demo. 2014-08-18 18:15:57 +02:00
Matej Bukovinski 2216078a1a Merge pull request #225 from Zyphrax/master
Set removeFromSuperViewOnHide to YES for convenience methods
2014-08-18 18:03:46 +02:00
Yvo van Beek cb56321f40 Set removeFromSuperViewOnHide to YES for convenience methods 2014-08-18 21:35:11 +10:00
Matej Bukovinski d9886df3ad Version bump. 2014-08-12 10:30:12 +02:00
Matej Bukovinski 7e0bda2f85 Merge branch 'runeb-master' 2014-08-12 10:27:22 +02:00
Matej Bukovinski b8ef4c4e58 Cleaned up activityIndicatorColor support. 2014-08-12 10:27:02 +02:00
Matej Bukovinski 2716a01b99 Merge branch 'master' of https://github.com/runeb/MBProgressHUD into runeb-master 2014-08-12 10:11:23 +02:00
Matej Bukovinski e368a8c243 Merge branch 'master' of github.com:jdg/MBProgressHUD
Conflicts:
	MBProgressHUD.m
2014-08-12 10:08:20 +02:00
Matej Bukovinski 59682eb65e Removed unnecessary method declarations. 2014-08-12 10:04:19 +02:00
Matej Bukovinski 7ed09decad Improved window rotation animation. 2014-08-12 10:04:19 +02:00
Matej Bukovinski 4b403a7d2a Cleaned up notification handling. 2014-08-12 10:04:19 +02:00
Paul Bramsen 0a15804a71 Use the proper notification for status bar did change 2014-08-12 10:04:19 +02:00
Matej Bukovinski 8eb3e881b9 Merge pull request #200 from gmirabito/master
Expose HUD bezel size as read only public property
2014-08-12 10:04:10 +02:00
Matej Bukovinski 4ad3584fee Merge pull request #211 from paulbramsen/master
Use the proper notification for status bar orientation change
2014-08-12 09:17:47 +02:00
Matej Bukovinski 4f8b21759a Freshened up the checkmark example. 2014-08-12 08:37:26 +02:00
Matej Bukovinski 83630b6198 Updated annular mode for iOS 7+. 2014-08-12 07:56:36 +02:00
Matej Bukovinski bd24a291d1 Removing broken yOffset. 2014-08-12 07:36:47 +02:00
Matej Bukovinski 8e56d3e347 Fixed rotation animation on iOS 8. 2014-08-12 07:28:22 +02:00
Matej Bukovinski 5fb0921dab Updated demo appearance. 2014-08-12 07:19:56 +02:00
Matej Bukovinski f0601bd900 Migrated to kCFCoreFoundationVersionNumber_iOS_8_0. 2014-08-12 06:57:03 +02:00
Matej Bukovinski 194c82c86b Clean up code style. 2014-08-12 06:51:46 +02:00
Matej Bukovinski 516554f1f9 Merge pull request #222 from bsuvorov/master
iOS8:  UIWindow rotation transformation is no longer required.
2014-08-12 06:48:23 +02:00
Boris Suvorov 06fdc08431 Because iOS8 window now rotates its subviews, we need
to skip rotation of the HUD when it is being added to the window.
Learn more here: https://devforums.apple.com/message/981103#981103
2014-08-11 18:08:53 -07:00
Matej Bukovinski 9cfed6bc39 Bumped the deployment target for Xcode 6 compatibility. 2014-07-24 09:28:16 +02:00
Paul Bramsen 4194dcf10a Use the proper notification for status bar did change 2014-06-26 16:53:08 -07:00
Matej Bukovinski 2d3561081b Added missing release calls in non-arc mode. Fixes #206 2014-05-28 10:27:15 +02:00
Matej Bukovinski 8800353105 Fixed spacing. 2014-05-28 10:25:04 +02:00
Matej Bukovinski 5918829642 Comment cleanup / fix. #201 2014-05-16 10:59:21 +02:00
Greg Mirabito 69b4f27895 Expose HUD bezel size as read only public property
We have a situation where we want to add a tap gesture recognizer to
the HUD for “tap to cancel” behavior. We want to ignore the tap gesture
if the tap did not occur within the bezel region of the HUD. By
exposing the ‘size’ property, we can determine if the tap location is
within the rectangle of the bezel.

Here is an example of code that processes a tap event that was added to
the HUD

-(void)tapReceived:(UITapGestureRecognizer *)recognizer{
    CGPoint loc = [recognizer locationInView:progress];

    CGFloat w = progress.size.width;
    CGFloat h = progress.size.height;
    CGFloat x = progress.center.x - w/2;
    CGFloat y = progress.center.y - h/2;
    CGRect progressRect = CGRectMake(x, y, w, h);

    //if the tap was within the HUD bezel, then react to it, ignore it
otherwise
    if(CGRectContainsPoint(progressRect, loc)){
        //do any actions here (cancel operation for example)
        [progress hide:YES];
    }else{
        //the tap location was not in the bezel region of the HUD so
igore it.
        return;
    }

}
2014-05-15 16:16:30 -04:00
Matej Bukovinski c13d794975 Merge pull request #199 from rivera-ernesto/add_suggested_warning_check
Add Xcode suggested GCC_WARN_64_TO_32_BIT_CONVERSION warning to Demo project
2014-05-13 08:36:57 +02:00
利辺羅エルネスト 913d8f37e5 Add Xcode suggested GCC_WARN_64_TO_32_BIT_CONVERSION warning to Demo project 2014-05-13 14:55:54 +09:00
Matej Bukovinski 130d31288e Merge pull request #192 from liuyaodong/patch-1
Canceling scheduled method calls inside `done`.
2014-02-25 15:14:20 +01:00
Liu Yaodong 307ca57a4c Update MBProgressHUD.m
Cancel scheduled task when -done called to fix memory issues.
2014-02-25 15:20:34 +08:00
Matej Bukovinski d775e8d985 Merge pull request #186 from holyman2k/master
fix arm 64 compiling error
2014-01-22 04:45:30 -08:00
Charlie Wu 7ffa6696c9 fix arm 64 compiling error 2014-01-20 09:53:02 +11:00
Matej Bukovinski 0fffff8031 Replacing roundf() with round() from thmath.h.
Improves 64 bit compatibility. See http://stackoverflow.com/questions/7694948/cgfloat-round-floor-abs-and-32-64-bit-precision
2013-11-14 12:29:11 +01:00
Matej Bukovinski 322af011f6 Removing the workspace .xccheckout file.
This file does not make much sense for this project see http://stackoverflow.com/questions/18340453/should-xccheckout-files-in-xcode5-be-ignored-under-vcs
2013-11-14 12:25:22 +01:00
Matej Bukovinski e879be1d22 Merge pull request #169 from nanoant/patch/fix-xcode5-warnings
Patch/fix xcode5 warnings
2013-10-30 03:14:17 -07:00
Adam Strzelecki 65ecd91445 Remove executable flags from source files 2013-10-16 17:03:28 +02:00
Adam Strzelecki da3d84ea0c Fix: Xcode 5 recommended settings
* Select architectures based on deployment target
* Use current architecture for Debug build
* Enable recommended warnings
2013-10-16 16:59:22 +02:00
Rune Botten 1f1aa50bb4 Conditionally declare the property depending on iOS target version 2013-10-04 14:45:12 +02:00
Rune Botten 7c90731626 Add dynamic property for the color of the UIActivityIndicatorView on iOS >= 5 2013-10-04 14:13:53 +02:00
Matej Bukovinski bb4a35b008 Merge pull request #167 from Club15CC/15cc-additions
Adds roundedCorner property
2013-10-02 06:33:14 -07:00
Hari Karam Singh c56e789aec Adds roundedCorner property 2013-10-01 13:14:52 +01:00
Matej Bukovinski c8e51ec1ef Added xccheckout to gitignore. 2013-10-01 10:47:15 +02:00
Matej Bukovinski a5d34f1aac Merge pull request #50 from percysnoodle/label_colors
Add labelColor and detailLabelColor to control label colours
2013-10-01 01:33:26 -07:00
Matej Bukovinski 8e0aed0409 Match the hud frame (not bounds) to the superview bounds. 2013-09-29 21:14:36 +02:00
Simon Booth 90c1ffc412 Add labelColor and detailLabelColor to control label colours 2013-07-19 08:07:46 +01:00
118 changed files with 4571 additions and 2115 deletions
+7
View File
@@ -5,6 +5,7 @@ build/
*.mode2v3
*.perspectivev3
xcuserdata/
*.xccheckout
# old skool
.svn
@@ -19,3 +20,9 @@ profile
# AppCode noise
.idea/
# Ruby
.ruby-version
# Carthage
Carthage/Build
+19 -1
View File
@@ -1 +1,19 @@
language: objective-c
language: objective-c
osx_image: xcode11.2
before_install:
- env
- locale
- xcpretty --version
- xcodebuild -version
- xcodebuild -showsdks
script:
- set -o pipefail
- xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemo -sdk iphonesimulator -configuration Debug | xcpretty -c
- xcodebuild clean build -workspace MBProgressHUD.xcworkspace -scheme HudDemoTV -sdk appletvsimulator -configuration Debug | xcpretty -c
- xcodebuild clean build test -workspace MBProgressHUD.xcworkspace -scheme HudTests -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Air (3rd generation),OS=13.2.2" -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c
after_success:
- bash <(curl -s https://codecov.io/bash)
+118
View File
@@ -0,0 +1,118 @@
**Version 1.0.0** @ 14.07.16
- Requires ARC and iOS 6+.
- Includes a new default design for iOS 7+.
- Deprecates certain helpers and exposes some more flexible API.
- Removes KVO observing of local properties.
- Migrates layout code to Auto Layout.
- Includes a rewritten demo app.
- Includes a rewritten iOS example app.
- Updates and extends documentation.
- Adds a new button property (cancellation support).
- Adds support for `NSProgress`
- Adds a new customizable background view class.
- Adds new assertions.
- Adds basic unit tests.
- Adds support for motion effects.
- Adds nullability.
- Adds basic interface builder support.
- Adds tvOS support.
- Adds a simple tvOS example app.
- Improves behavior when showing and hiding in quick succession.
- Improves support for `UIAppearance `.
- Various smaller bug-fixes
**Version 0.9.2** @ 22.12.15
- Timer improvements
- Additional assertions
- Added a framework target
- Tint progress tint color enhancements
**Version 0.9.1** @ 06.03.15
- Bug-fixes
- Modernization
**Version 0.9** @ 12.08.14
- iOS 8 compatibility and some bug fixes.
- Additional iOS 7 / iOS 8 styling enhancements.
- Improved 64bit support.
- Demo modernization.
**Version 0.8** @ 19.09.13
- iOS 7 compatibility and some bug fixes.
**Version 0.7** @ 25.06.13
- Added horizontal bar mode. ([jjxtra](https://github.com/jjxtra)).
- CI integration.
**Version 0.6** @ 13.03.13
- Full cocoapods support.
- Static library integration option.
- Improved blocks support.
- Bezel color.
- Demo app fixes (iOS 6).
- Various bug-fixes and enhancements.
**Version 0.5** @ 22.03.12
- Major source code modernization and cleanup (KVO, layout code, instance vars, etc.).
- New annular determinate mode.
- New text only mode.
- Added a static library project and Xcode 4 workspace.
- Added methods to find and return HUD(s) on a view.
- Various bug fixes.
- Various demo project enhancements (hi-res rescues, new samples).
IMPORTANT: Requires LLVM 3+.
**Version 0.41** @ 03.01.12
- Support for ARC.
**Version 0.4** @ 25.07.10
- Different animation modes. Default set to zoom.
- Class convenience methods ([tadelv](http://github.com/tadelv)).
- Autorotation when added to a UIWindow ([wuf810](http://github.com/wuf810)).
- Extended demo app.
- Several smaller fixes.
**Version 0.33** @ 27.03.10
- Custom view operation mode added.
- Fixed a memory leak.
**Version 0.32** @ 4.01.10
- Added minShowTime, graceTime, xOffset, yOffset.
- Various fixes.
**Version 0.31** @ 8.10.09
- Fix for touch through during the fade-out animation.
**Version 0.3** @ 30.9.09
- Added show: and hide: methods.
- Now using UIViews layoutSubviews to automate layout calls.
- Added some floors to round pixel positions and thereby prevent unsharp views.
- Some additional documentation and code cleanup.
**Version 0.2** @ 21.7.09
- Added determinate progress mode and switching capabilities between determinate and indeterminate modes.
- Various bug-fixes.
**Version 0.11** @ 2.6.09.
- Updated labelText and detailsLabelText properties to support text modifications while the HUD is being shown.
**Version 0.1** @ 2.4.09
- Initial release.
+64
View File
@@ -0,0 +1,64 @@
Please take a moment to review this document in order to make the contribution
process easy and effective for everyone involved.
# Using the issue tracker
The issue tracker is the preferred channel for [bug reports](#bugs) and
[features requests](#features), but please respect the following restriction:
* Please **do not** use the issue tracker for personal support requests (use
a service like [Stack Overflow](http://stackoverflow.com) instead).
<a name="bugs"></a>
## Bug reports
A bug is a _demonstrable problem_ that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:
1. **Use the GitHub issue search** &mdash; check if the issue has already been
reported.
2. **Check if the issue has been fixed** &mdash; try to reproduce it using the
latest `master` branch in the repository.
3. **Isolate the problem** &mdash; provide exact reproduction steps, preferably
in the form of a failing test case or by providing modification steps in the
`MBProgressHUD` Demo application.
A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What steps will reproduce the issue? What iOS version did
you use? What would you expect to be the outcome?
<a name="features"></a>
## Feature requests
Feature requests are welcome. But take a moment to find out whether your idea
fits with the scope and aims of the project. It's up to *you* to make a strong
case to convince the project's developers of the merits of this feature. Please
provide as much detail and context as possible.
<a name="pull-requests"></a>
# Pull requests
Good pull requests - patches, improvements, new features - are a fantastic
help. They should remain focused in scope and avoid containing unrelated
commits.
**Please ask first** before embarking on any significant pull request (e.g.
implementing features, refactoring code, porting to a different language),
otherwise you risk spending a lot of time working on something that the
project's developers might not want to merge into the project.
Please adhere to the coding conventions used throughout a project (indentation,
accurate comments, etc.) and any other requirements (such as test coverage).
**IMPORTANT**: By submitting a patch, you agree to allow the project owner to
license your work under the same license as that used by the project.
This document is based on https://github.com/necolas/issue-guidelines/blob/master/CONTRIBUTING.md.
-23
View File
@@ -1,23 +0,0 @@
//
// HudDemoAppDelegate.h
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright bukovinski.com 2009. All rights reserved.
//
#import <UIKit/UIKit.h>
@class HudDemoViewController;
@interface HudDemoAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@end
-29
View File
@@ -1,29 +0,0 @@
//
// HudDemoAppDelegate.m
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright bukovinski.com 2009. All rights reserved.
//
#import "HudDemoAppDelegate.h"
#import "HudDemoViewController.h"
@implementation HudDemoAppDelegate
@synthesize window;
@synthesize navController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
window.rootViewController = navController;
[window makeKeyAndVisible];
}
- (void)dealloc {
[navController release];
[window release];
[super dealloc];
}
@end
-36
View File
@@ -1,36 +0,0 @@
//
// HudDemoViewController.h
// HudDemo
//
// Created by Matej Bukovinski on 30.9.09.
// Copyright bukovinski.com 2009. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "MBProgressHUD.h"
@interface HudDemoViewController : UIViewController <MBProgressHUDDelegate> {
MBProgressHUD *HUD;
long long expectedLength;
long long currentLength;
}
- (IBAction)showSimple:(id)sender;
- (IBAction)showWithLabel:(id)sender;
- (IBAction)showWithDetailsLabel:(id)sender;
- (IBAction)showWithLabelDeterminate:(id)sender;
- (IBAction)showWIthLabelAnnularDeterminate:(id)sender;
- (IBAction)showWithLabelDeterminateHorizontalBar:(id)sender;
- (IBAction)showWithCustomView:(id)sender;
- (IBAction)showWithLabelMixed:(id)sender;
- (IBAction)showUsingBlocks:(id)sender;
- (IBAction)showOnWindow:(id)sender;
- (IBAction)showURL:(id)sender;
- (void)myTask;
- (void)myProgressTask;
- (void)myMixedTask;
@end
-314
View File
@@ -1,314 +0,0 @@
//
// HudDemoViewController.m
// HudDemo
//
// Created by Matej Bukovinski on 30.9.09.
// Copyright bukovinski.com 2009. All rights reserved.
//
#import "HudDemoViewController.h"
#import <unistd.h>
#define SCREENSHOT_MODE 0
@implementation HudDemoViewController
#pragma mark -
#pragma mark Lifecycle methods
- (void)viewDidLoad {
UIView *content = [[self.view subviews] objectAtIndex:0];
#if SCREENSHOT_MODE
[content.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
#endif
((UIScrollView *)self.view).contentSize = content.bounds.size;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
UIView *content = [[self.view subviews] objectAtIndex:0];
((UIScrollView *)self.view).contentSize = content.bounds.size;
}
- (void)dealloc {
[super dealloc];
}
#pragma mark -
#pragma mark IBActions
- (IBAction)showSimple:(id)sender {
// The hud will dispable all input on the view (use the higest view possible in the view hierarchy)
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// Regiser for HUD callbacks so we can remove it from the window at the right time
HUD.delegate = self;
// Show the HUD while the provided method executes in a new thread
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWithLabel:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWithDetailsLabel:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
HUD.detailsLabelText = @"updating data";
HUD.square = YES;
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWithLabelDeterminate:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// Set determinate mode
HUD.mode = MBProgressHUDModeDeterminate;
HUD.delegate = self;
HUD.labelText = @"Loading";
// myProgressTask uses the HUD instance to update progress
[HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWIthLabelAnnularDeterminate:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// Set determinate mode
HUD.mode = MBProgressHUDModeAnnularDeterminate;
HUD.delegate = self;
HUD.labelText = @"Loading";
// myProgressTask uses the HUD instance to update progress
[HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWithLabelDeterminateHorizontalBar:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// Set determinate bar mode
HUD.mode = MBProgressHUDModeDeterminateHorizontalBar;
HUD.delegate = self;
// myProgressTask uses the HUD instance to update progress
[HUD showWhileExecuting:@selector(myProgressTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showWithCustomView:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// The sample image is based on the work by http://www.pixelpressicons.com, http://creativecommons.org/licenses/by/2.5/ca/
// Make the customViews 37 by 37 pixels for best results (those are the bounds of the build-in progress indicators)
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
// Set custom view mode
HUD.mode = MBProgressHUDModeCustomView;
HUD.delegate = self;
HUD.labelText = @"Completed";
[HUD show:YES];
[HUD hide:YES afterDelay:3];
}
- (IBAction)showWithLabelMixed:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Connecting";
HUD.minSize = CGSizeMake(135.f, 135.f);
[HUD showWhileExecuting:@selector(myMixedTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showUsingBlocks:(id)sender {
#if NS_BLOCKS_AVAILABLE
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:hud];
hud.labelText = @"With a block";
[hud showAnimated:YES whileExecutingBlock:^{
[self myTask];
} completionBlock:^{
[hud removeFromSuperview];
[hud release];
}];
#endif
}
- (IBAction)showOnWindow:(id)sender {
// The hud will dispable all input on the window
HUD = [[MBProgressHUD alloc] initWithView:self.view.window];
[self.view.window addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showURL:(id)sender {
NSURL *URL = [NSURL URLWithString:@"http://a1408.g.akamai.net/5/1408/1388/2005110403/1a1a1ad948be278cff2d96046ad90768d848b41947aa1986/sample_iPod.m4v.zip"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];
[connection release];
HUD = [[MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES] retain];
HUD.delegate = self;
}
- (IBAction)showWithGradient:(id)sender {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.dimBackground = YES;
// Regiser for HUD callbacks so we can remove it from the window at the right time
HUD.delegate = self;
// Show the HUD while the provided method executes in a new thread
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
- (IBAction)showTextOnly:(id)sender {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Configure for text only and offset down
hud.mode = MBProgressHUDModeText;
hud.labelText = @"Some message...";
hud.margin = 10.f;
hud.yOffset = 150.f;
hud.removeFromSuperViewOnHide = YES;
[hud hide:YES afterDelay:3];
}
- (IBAction)showWithColor:(id)sender{
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
// Set the hud to display with a color
HUD.color = [UIColor colorWithRed:0.23 green:0.50 blue:0.82 alpha:0.90];
HUD.delegate = self;
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}
#pragma mark -
#pragma mark Execution code
- (void)myTask {
// Do something usefull in here instead of sleeping ...
sleep(3);
}
- (void)myProgressTask {
// This just increases the progress indicator in a loop
float progress = 0.0f;
while (progress < 1.0f) {
progress += 0.01f;
HUD.progress = progress;
usleep(50000);
}
}
- (void)myMixedTask {
// Indeterminate mode
sleep(2);
// Switch to determinate mode
HUD.mode = MBProgressHUDModeDeterminate;
HUD.labelText = @"Progress";
float progress = 0.0f;
while (progress < 1.0f)
{
progress += 0.01f;
HUD.progress = progress;
usleep(50000);
}
// Back to indeterminate mode
HUD.mode = MBProgressHUDModeIndeterminate;
HUD.labelText = @"Cleaning up";
sleep(2);
// UIImageView is a UIKit class, we have to initialize it on the main thread
__block UIImageView *imageView;
dispatch_sync(dispatch_get_main_queue(), ^{
UIImage *image = [UIImage imageNamed:@"37x-Checkmark.png"];
imageView = [[UIImageView alloc] initWithImage:image];
});
HUD.customView = [imageView autorelease];
HUD.mode = MBProgressHUDModeCustomView;
HUD.labelText = @"Completed";
sleep(2);
}
#pragma mark -
#pragma mark NSURLConnectionDelegete
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
expectedLength = MAX([response expectedContentLength], 1);
currentLength = 0;
HUD.mode = MBProgressHUDModeDeterminate;
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
currentLength += [data length];
HUD.progress = currentLength / (float)expectedLength;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
HUD.mode = MBProgressHUDModeCustomView;
[HUD hide:YES afterDelay:2];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[HUD hide:YES];
}
#pragma mark -
#pragma mark MBProgressHUDDelegate methods
- (void)hudWasHidden:(MBProgressHUD *)hud {
// Remove HUD from screen when the HUD was hidded
[HUD removeFromSuperview];
[HUD release];
HUD = nil;
}
@end
+455 -111
View File
@@ -7,57 +7,69 @@
objects = {
/* Begin PBXBuildFile section */
1D3623260D0F684500981E51 /* HudDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
28D7ACF80DDB3853001CB0EB /* HudDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */; };
D21D40801611CF6C005FCE55 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D21D407F1611CF6C005FCE55 /* Default-568h@2x.png */; };
5BE141EE1CD8C33D0023BC9E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */; };
D22F7D810F85241C00550BB3 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
D24A23051780ADCD0020310A /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = D22568E61780AA77008D5939 /* Icon-Small.png */; };
D24A23061780ADD10020310A /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D22568E71780AA77008D5939 /* Icon-Small@2x.png */; };
D24A23071780ADDA0020310A /* Icon-iOS7@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D22568E51780A9C6008D5939 /* Icon-iOS7@2x.png */; };
D24A23081780ADE60020310A /* Default-iOS7-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D22568E31780A913008D5939 /* Default-iOS7-568h@2x.png */; };
D24A23091780ADE90020310A /* Default-iOS7@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D22568E41780A913008D5939 /* Default-iOS7@2x.png */; };
D277FDB311FC834200304321 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = D277FDB211FC834200304321 /* Default.png */; };
D277FDB911FC877E00304321 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = D277FDB711FC877E00304321 /* Icon.png */; };
D277FDBA11FC877E00304321 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D277FDB811FC877E00304321 /* Icon@2x.png */; };
D286A6801518736B00E13FB8 /* 37x-Checkmark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D286A67F1518736B00E13FB8 /* 37x-Checkmark@2x.png */; };
D286A7321518C53500E13FB8 /* HudDemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D286A7341518C53500E13FB8 /* HudDemoViewController.xib */; };
D286A7361518C53C00E13FB8 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = D286A7381518C53C00E13FB8 /* MainWindow.xib */; };
D274948B1D3B74AA00ABEB66 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D274948A1D3B74AA00ABEB66 /* Images.xcassets */; };
D27F18451D3B5878009D7482 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18441D3B5878009D7482 /* main.m */; };
D27F18481D3B5878009D7482 /* MBHudDemoTVAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */; };
D27F184B1D3B5878009D7482 /* MBHudDemoTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */; };
D27F184E1D3B5878009D7482 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F184C1D3B5878009D7482 /* Main.storyboard */; };
D27F18551D3B5AAF009D7482 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
D27F185A1D3B5DFF009D7482 /* MBHudDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */; };
D27F185B1D3B5DFF009D7482 /* MBHudDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */; };
D27F185E1D3B5E0D009D7482 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F185D1D3B5E0D009D7482 /* main.m */; };
D27F18631D3B5E21009D7482 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F185F1D3B5E21009D7482 /* Launch.storyboard */; };
D27F18641D3B5E21009D7482 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D27F18611D3B5E21009D7482 /* Main.storyboard */; };
D286A76D1518CA9F00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */; };
D2A6FD1D13ABC5A200BFE4C9 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */; };
D2F88CD6115E9F7F00E6DB82 /* 37x-Checkmark.png in Resources */ = {isa = PBXBuildFile; fileRef = D2F88CD5115E9F7F00E6DB82 /* 37x-Checkmark.png */; };
D2B174121C5E3A3D00021915 /* HudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B174111C5E3A3D00021915 /* HudTests.m */; };
D2D75D5323A8193100485497 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2D75D5123A8193000485497 /* Launch.storyboard */; };
D2EEB3811B55967200F59EC1 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2EEB3801B55967200F59EC1 /* Images.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
D2B174141C5E3A3D00021915 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 1D6058900D05DD3D006BFB54;
remoteInfo = HudDemo;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* HudDemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemoAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HudDemoAppDelegate.m; sourceTree = "<group>"; };
1D6058910D05DD3D006BFB54 /* HudDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HudDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
28D7ACF60DDB3853001CB0EB /* HudDemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemoViewController.h; sourceTree = "<group>"; };
28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HudDemoViewController.m; sourceTree = "<group>"; usesTabs = 1; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
32CA4F630368D1EE00C91783 /* HudDemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HudDemo_Prefix.pch; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D21D407F1611CF6C005FCE55 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-568h@2x.png"; path = "Images/Default-568h@2x.png"; sourceTree = "<group>"; };
D22568E31780A913008D5939 /* Default-iOS7-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-iOS7-568h@2x.png"; path = "Images/Default-iOS7-568h@2x.png"; sourceTree = "<group>"; };
D22568E41780A913008D5939 /* Default-iOS7@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-iOS7@2x.png"; path = "Images/Default-iOS7@2x.png"; sourceTree = "<group>"; };
D22568E51780A9C6008D5939 /* Icon-iOS7@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-iOS7@2x.png"; path = "Images/Icon-iOS7@2x.png"; sourceTree = "<group>"; };
D22568E61780AA77008D5939 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "Images/Icon-Small.png"; sourceTree = "<group>"; };
D22568E71780AA77008D5939 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small@2x.png"; path = "Images/Icon-Small@2x.png"; sourceTree = "<group>"; };
5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBProgressHUD.h; path = ../MBProgressHUD.h; sourceTree = SOURCE_ROOT; };
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = ../../MBProgressHUD.m; sourceTree = "<group>"; };
D277FDB211FC834200304321 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = Images/Default.png; sourceTree = "<group>"; };
D277FDB711FC877E00304321 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = Images/Icon.png; sourceTree = "<group>"; };
D277FDB811FC877E00304321 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "Images/Icon@2x.png"; sourceTree = "<group>"; };
D286A67F1518736B00E13FB8 /* 37x-Checkmark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "37x-Checkmark@2x.png"; path = "Images/37x-Checkmark@2x.png"; sourceTree = "<group>"; };
D286A7331518C53500E13FB8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/HudDemoViewController.xib; sourceTree = "<group>"; };
D286A7371518C53C00E13FB8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = ../MBProgressHUD.m; sourceTree = "<group>"; };
D274948A1D3B74AA00ABEB66 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
D27F18411D3B5878009D7482 /* HudDemoTV.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HudDemoTV.app; sourceTree = BUILT_PRODUCTS_DIR; };
D27F18441D3B5878009D7482 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
D27F18461D3B5878009D7482 /* MBHudDemoTVAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBHudDemoTVAppDelegate.h; sourceTree = "<group>"; };
D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBHudDemoTVAppDelegate.m; sourceTree = "<group>"; };
D27F18491D3B5878009D7482 /* MBHudDemoTVViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBHudDemoTVViewController.h; sourceTree = "<group>"; };
D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBHudDemoTVViewController.m; sourceTree = "<group>"; };
D27F184D1D3B5878009D7482 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
D27F18511D3B5878009D7482 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D27F18561D3B5DFF009D7482 /* MBHudDemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBHudDemoAppDelegate.h; path = HudDemo/MBHudDemoAppDelegate.h; sourceTree = SOURCE_ROOT; };
D27F18571D3B5DFF009D7482 /* MBHudDemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MBHudDemoViewController.h; path = HudDemo/MBHudDemoViewController.h; sourceTree = SOURCE_ROOT; };
D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBHudDemoAppDelegate.m; path = HudDemo/MBHudDemoAppDelegate.m; sourceTree = SOURCE_ROOT; };
D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBHudDemoViewController.m; path = HudDemo/MBHudDemoViewController.m; sourceTree = SOURCE_ROOT; };
D27F185C1D3B5E0D009D7482 /* HudDemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HudDemo_Prefix.pch; path = HudDemo/HudDemo_Prefix.pch; sourceTree = "<group>"; };
D27F185D1D3B5E0D009D7482 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HudDemo/main.m; sourceTree = "<group>"; };
D27F18601D3B5E21009D7482 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = HudDemo/en.lproj/Launch.storyboard; sourceTree = "<group>"; };
D27F18621D3B5E21009D7482 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = HudDemo/en.lproj/Main.storyboard; sourceTree = "<group>"; };
D27F18651D3B5E2D009D7482 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HudDemo/Info.plist; sourceTree = "<group>"; };
D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default@2x.png"; path = "Images/Default@2x.png"; sourceTree = "<group>"; };
D2F88CD5115E9F7F00E6DB82 /* 37x-Checkmark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "37x-Checkmark.png"; path = "Images/37x-Checkmark.png"; sourceTree = "<group>"; };
D2B1269B23CB8D9C00A01F4C /* HudDemo.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = HudDemo.entitlements; sourceTree = "<group>"; };
D2B1740F1C5E3A3D00021915 /* HudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
D2B174111C5E3A3D00021915 /* HudTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HudTests.m; sourceTree = "<group>"; };
D2B174131C5E3A3D00021915 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D2D75D5223A8193000485497 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Launch.storyboard; sourceTree = "<group>"; };
D2EEB3801B55967200F59EC1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HudDemo/Images.xcassets; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -65,32 +77,50 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5BE141EE1CD8C33D0023BC9E /* QuartzCore.framework in Frameworks */,
D286A76D1518CA9F00E13FB8 /* CoreGraphics.framework in Frameworks */,
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D27F183E1D3B5878009D7482 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
D2B1740C1C5E3A3D00021915 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
080E96DDFE201D6D7F000001 /* HudDemo */ = {
isa = PBXGroup;
children = (
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */,
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */,
1D3623240D0F684500981E51 /* HudDemoAppDelegate.h */,
1D3623250D0F684500981E51 /* HudDemoAppDelegate.m */,
28D7ACF60DDB3853001CB0EB /* HudDemoViewController.h */,
28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */,
D2B1269B23CB8D9C00A01F4C /* HudDemo.entitlements */,
D27F18561D3B5DFF009D7482 /* MBHudDemoAppDelegate.h */,
D27F18571D3B5DFF009D7482 /* MBHudDemoViewController.h */,
D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */,
D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
);
path = Classes;
path = HudDemo;
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* HudDemo.app */,
D2B1740F1C5E3A3D00021915 /* HudTests.xctest */,
D27F18411D3B5878009D7482 /* HudDemoTV.app */,
);
name = Products;
sourceTree = "<group>";
@@ -98,9 +128,10 @@
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
080E96DDFE201D6D7F000001 /* HudDemo */,
D27F18421D3B5878009D7482 /* HudDemoTV */,
D2B174101C5E3A3D00021915 /* HudTests */,
D28CBB391A87A6B00052DCEC /* MBProgressHUD */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
@@ -110,25 +141,28 @@
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
32CA4F630368D1EE00C91783 /* HudDemo_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
D27F185C1D3B5E0D009D7482 /* HudDemo_Prefix.pch */,
D27F185D1D3B5E0D009D7482 /* main.m */,
);
name = "Other Sources";
path = ..;
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
D27F18651D3B5E2D009D7482 /* Info.plist */,
D277FDBF11FC880100304321 /* UI */,
D277FDBD11FC879500304321 /* Images */,
8D1107310486CEB800E47090 /* Info.plist */,
D2EEB3801B55967200F59EC1 /* Images.xcassets */,
);
name = Resources;
path = ..;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */,
D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */,
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
1D30AB110D05D00D00671497 /* Foundation.framework */,
@@ -136,34 +170,65 @@
name = Frameworks;
sourceTree = "<group>";
};
D277FDBD11FC879500304321 /* Images */ = {
isa = PBXGroup;
children = (
D277FDB711FC877E00304321 /* Icon.png */,
D277FDB811FC877E00304321 /* Icon@2x.png */,
D22568E61780AA77008D5939 /* Icon-Small.png */,
D22568E71780AA77008D5939 /* Icon-Small@2x.png */,
D22568E51780A9C6008D5939 /* Icon-iOS7@2x.png */,
D277FDB211FC834200304321 /* Default.png */,
D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */,
D21D407F1611CF6C005FCE55 /* Default-568h@2x.png */,
D22568E31780A913008D5939 /* Default-iOS7-568h@2x.png */,
D22568E41780A913008D5939 /* Default-iOS7@2x.png */,
D2F88CD5115E9F7F00E6DB82 /* 37x-Checkmark.png */,
D286A67F1518736B00E13FB8 /* 37x-Checkmark@2x.png */,
);
name = Images;
sourceTree = "<group>";
};
D277FDBF11FC880100304321 /* UI */ = {
isa = PBXGroup;
children = (
D286A7341518C53500E13FB8 /* HudDemoViewController.xib */,
D286A7381518C53C00E13FB8 /* MainWindow.xib */,
D27F185F1D3B5E21009D7482 /* Launch.storyboard */,
D27F18611D3B5E21009D7482 /* Main.storyboard */,
);
name = UI;
sourceTree = "<group>";
};
D27F18421D3B5878009D7482 /* HudDemoTV */ = {
isa = PBXGroup;
children = (
D27F18461D3B5878009D7482 /* MBHudDemoTVAppDelegate.h */,
D27F18471D3B5878009D7482 /* MBHudDemoTVAppDelegate.m */,
D27F18491D3B5878009D7482 /* MBHudDemoTVViewController.h */,
D27F184A1D3B5878009D7482 /* MBHudDemoTVViewController.m */,
D27F18431D3B5878009D7482 /* Other Sources */,
D27F18671D3B5E43009D7482 /* Resources */,
);
path = HudDemoTV;
sourceTree = "<group>";
};
D27F18431D3B5878009D7482 /* Other Sources */ = {
isa = PBXGroup;
children = (
D27F18441D3B5878009D7482 /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
D27F18671D3B5E43009D7482 /* Resources */ = {
isa = PBXGroup;
children = (
D2D75D5123A8193000485497 /* Launch.storyboard */,
D27F184C1D3B5878009D7482 /* Main.storyboard */,
D27F18511D3B5878009D7482 /* Info.plist */,
D274948A1D3B74AA00ABEB66 /* Images.xcassets */,
);
name = Resources;
sourceTree = "<group>";
};
D28CBB391A87A6B00052DCEC /* MBProgressHUD */ = {
isa = PBXGroup;
children = (
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */,
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */,
);
name = MBProgressHUD;
sourceTree = "<group>";
};
D2B174101C5E3A3D00021915 /* HudTests */ = {
isa = PBXGroup;
children = (
D2B174111C5E3A3D00021915 /* HudTests.m */,
D2B174131C5E3A3D00021915 /* Info.plist */,
);
path = HudTests;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -184,6 +249,41 @@
productReference = 1D6058910D05DD3D006BFB54 /* HudDemo.app */;
productType = "com.apple.product-type.application";
};
D27F18401D3B5878009D7482 /* HudDemoTV */ = {
isa = PBXNativeTarget;
buildConfigurationList = D27F18541D3B5878009D7482 /* Build configuration list for PBXNativeTarget "HudDemoTV" */;
buildPhases = (
D27F183D1D3B5878009D7482 /* Sources */,
D27F183E1D3B5878009D7482 /* Frameworks */,
D27F183F1D3B5878009D7482 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = HudDemoTV;
productName = HudDemoTV;
productReference = D27F18411D3B5878009D7482 /* HudDemoTV.app */;
productType = "com.apple.product-type.application";
};
D2B1740E1C5E3A3D00021915 /* HudTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = D2B174161C5E3A3D00021915 /* Build configuration list for PBXNativeTarget "HudTests" */;
buildPhases = (
D2B1740B1C5E3A3D00021915 /* Sources */,
D2B1740C1C5E3A3D00021915 /* Frameworks */,
D2B1740D1C5E3A3D00021915 /* Resources */,
);
buildRules = (
);
dependencies = (
D2B174151C5E3A3D00021915 /* PBXTargetDependency */,
);
name = HudTests;
productName = HudTests;
productReference = D2B1740F1C5E3A3D00021915 /* HudTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -191,24 +291,33 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MB;
LastUpgradeCheck = 0500;
LastUpgradeCheck = 0930;
ORGANIZATIONNAME = "Matej Bukovinski";
TargetAttributes = {
D27F18401D3B5878009D7482 = {
CreatedOnToolsVersion = 7.3.1;
};
D2B1740E1C5E3A3D00021915 = {
CreatedOnToolsVersion = 7.2;
TestTargetID = 1D6058900D05DD3D006BFB54;
};
};
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "HudDemo" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
en,
Base,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
projectDirPath = "";
projectRoot = "";
targets = (
1D6058900D05DD3D006BFB54 /* HudDemo */,
D27F18401D3B5878009D7482 /* HudDemoTV */,
D2B1740E1C5E3A3D00021915 /* HudTests */,
);
};
/* End PBXProject section */
@@ -218,20 +327,26 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D286A7361518C53C00E13FB8 /* MainWindow.xib in Resources */,
D286A7321518C53500E13FB8 /* HudDemoViewController.xib in Resources */,
D2F88CD6115E9F7F00E6DB82 /* 37x-Checkmark.png in Resources */,
D277FDB311FC834200304321 /* Default.png in Resources */,
D277FDB911FC877E00304321 /* Icon.png in Resources */,
D277FDBA11FC877E00304321 /* Icon@2x.png in Resources */,
D2A6FD1D13ABC5A200BFE4C9 /* Default@2x.png in Resources */,
D286A6801518736B00E13FB8 /* 37x-Checkmark@2x.png in Resources */,
D24A23081780ADE60020310A /* Default-iOS7-568h@2x.png in Resources */,
D24A23051780ADCD0020310A /* Icon-Small.png in Resources */,
D24A23071780ADDA0020310A /* Icon-iOS7@2x.png in Resources */,
D21D40801611CF6C005FCE55 /* Default-568h@2x.png in Resources */,
D24A23061780ADD10020310A /* Icon-Small@2x.png in Resources */,
D24A23091780ADE90020310A /* Default-iOS7@2x.png in Resources */,
D27F18641D3B5E21009D7482 /* Main.storyboard in Resources */,
D2EEB3811B55967200F59EC1 /* Images.xcassets in Resources */,
D27F18631D3B5E21009D7482 /* Launch.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D27F183F1D3B5878009D7482 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D27F184E1D3B5878009D7482 /* Main.storyboard in Resources */,
D274948B1D3B74AA00ABEB66 /* Images.xcassets in Resources */,
D2D75D5323A8193100485497 /* Launch.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2B1740D1C5E3A3D00021915 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -242,30 +357,73 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
1D3623260D0F684500981E51 /* HudDemoAppDelegate.m in Sources */,
28D7ACF80DDB3853001CB0EB /* HudDemoViewController.m in Sources */,
D27F185B1D3B5DFF009D7482 /* MBHudDemoViewController.m in Sources */,
D22F7D810F85241C00550BB3 /* MBProgressHUD.m in Sources */,
D27F185E1D3B5E0D009D7482 /* main.m in Sources */,
D27F185A1D3B5DFF009D7482 /* MBHudDemoAppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D27F183D1D3B5878009D7482 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D27F184B1D3B5878009D7482 /* MBHudDemoTVViewController.m in Sources */,
D27F18481D3B5878009D7482 /* MBHudDemoTVAppDelegate.m in Sources */,
D27F18451D3B5878009D7482 /* main.m in Sources */,
D27F18551D3B5AAF009D7482 /* MBProgressHUD.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2B1740B1C5E3A3D00021915 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D2B174121C5E3A3D00021915 /* HudTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
D2B174151C5E3A3D00021915 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 1D6058900D05DD3D006BFB54 /* HudDemo */;
targetProxy = D2B174141C5E3A3D00021915 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
D286A7341518C53500E13FB8 /* HudDemoViewController.xib */ = {
D27F184C1D3B5878009D7482 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
D286A7331518C53500E13FB8 /* en */,
D27F184D1D3B5878009D7482 /* Base */,
);
name = HudDemoViewController.xib;
name = Main.storyboard;
sourceTree = "<group>";
};
D286A7381518C53C00E13FB8 /* MainWindow.xib */ = {
D27F185F1D3B5E21009D7482 /* Launch.storyboard */ = {
isa = PBXVariantGroup;
children = (
D286A7371518C53C00E13FB8 /* en */,
D27F18601D3B5E21009D7482 /* en */,
);
name = MainWindow.xib;
name = Launch.storyboard;
sourceTree = "<group>";
};
D27F18611D3B5E21009D7482 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
D27F18621D3B5E21009D7482 /* en */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
D2D75D5123A8193000485497 /* Launch.storyboard */ = {
isa = PBXVariantGroup;
children = (
D2D75D5223A8193000485497 /* Base */,
);
name = Launch.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
@@ -275,13 +433,20 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = HudDemo/HudDemo.entitlements;
COPY_PHASE_STRIP = NO;
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
INFOPLIST_FILE = Info.plist;
GCC_PREFIX_HEADER = HudDemo/HudDemo_Prefix.pch;
INFOPLIST_FILE = HudDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
PRODUCT_NAME = HudDemo;
SUPPORTS_MACCATALYST = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
@@ -289,33 +454,56 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = HudDemo/HudDemo.entitlements;
COPY_PHASE_STRIP = YES;
DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
INFOPLIST_FILE = Info.plist;
GCC_PREFIX_HEADER = HudDemo/HudDemo_Prefix.pch;
INFOPLIST_FILE = HudDemo/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
PRODUCT_NAME = HudDemo;
SDKROOT = iphoneos;
SUPPORTS_MACCATALYST = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
@@ -324,24 +512,162 @@
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
SDKROOT = iphoneos;
};
name = Release;
};
D27F18521D3B5878009D7482 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = HudDemoTV/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudDemoTV;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.0;
};
name = Debug;
};
D27F18531D3B5878009D7482 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = HudDemoTV/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudDemoTV;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 9.0;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
D2B174171C5E3A3D00021915 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = HudTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudTests;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
};
name = Debug;
};
D2B174181C5E3A3D00021915 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = HudTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.bukovinski.HudTests;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -363,6 +689,24 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D27F18541D3B5878009D7482 /* Build configuration list for PBXNativeTarget "HudDemoTV" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D27F18521D3B5878009D7482 /* Debug */,
D27F18531D3B5878009D7482 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D2B174161C5E3A3D00021915 /* Build configuration list for PBXNativeTarget "HudTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D2B174171C5E3A3D00021915 /* Debug */,
D2B174181C5E3A3D00021915 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
LastUpgradeVersion = "1120"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
@@ -20,28 +20,63 @@
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
BuildableName = "HudTests.xctest"
BlueprintName = "HudTests"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "HudDemo.app"
BlueprintName = "HudDemo"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
BuildableName = "HudTests.xctest"
BlueprintName = "HudTests"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
displayScaleIsEnabled = "NO"
displayScale = "1.00"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
@@ -50,18 +85,17 @@
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
displayScaleIsEnabled = "NO"
displayScale = "1.00"
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1120"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D27F18401D3B5878009D7482"
BuildableName = "HudDemoTV.app"
BlueprintName = "HudDemoTV"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D27F18401D3B5878009D7482"
BuildableName = "HudDemoTV.app"
BlueprintName = "HudDemoTV"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D27F18401D3B5878009D7482"
BuildableName = "HudDemoTV.app"
BlueprintName = "HudDemoTV"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D27F18401D3B5878009D7482"
BuildableName = "HudDemoTV.app"
BlueprintName = "HudDemoTV"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1120"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "HudDemo.app"
BlueprintName = "HudDemo"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
BuildableName = "HudTests.xctest"
BlueprintName = "HudTests"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "HudDemo.app"
BlueprintName = "HudDemo"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
BuildableName = "HudDemo.app"
BlueprintName = "HudDemo"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

@@ -0,0 +1,158 @@
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-40.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-60.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-Small.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-Small@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-Small@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-Small-40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-Small-40@3x.png",
"scale" : "3x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "Icon.png",
"scale" : "1x"
},
{
"size" : "57x57",
"idiom" : "iphone",
"filename" : "Icon@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-20.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-41.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-Small-1.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-Small@2x-1.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-Small-40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-Small-40@2x-1.png",
"scale" : "2x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "Icon-Small-50.png",
"scale" : "1x"
},
{
"size" : "50x50",
"idiom" : "ipad",
"filename" : "Icon-Small-50@2x.png",
"scale" : "2x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "Icon-72.png",
"scale" : "1x"
},
{
"size" : "72x72",
"idiom" : "ipad",
"filename" : "Icon-72@2x.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-167.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "AppStore.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "Checkmark.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "Checkmark@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "Checkmark@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
+9 -35
View File
@@ -8,17 +8,12 @@
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-Small</string>
<string>Icon-iOS7</string>
<string>Icon.png</string>
<string>Icon@2x.png</string>
</array>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>
<dict/>
<key>CFBundleIdentifier</key>
<string>com.bukovinski.${PRODUCT_NAME:identifier}</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
@@ -33,31 +28,10 @@
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-iOS7</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 568}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-iOS7</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
</array>
<key>UILaunchStoryboardName</key>
<string>Launch</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
+15
View File
@@ -0,0 +1,15 @@
//
// MBHudDemoAppDelegate.h
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MBHudDemoAppDelegate : NSObject <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
+20
View File
@@ -0,0 +1,20 @@
//
// MBHudDemoAppDelegate.m
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
//
#import "MBHudDemoAppDelegate.h"
#import "MBHudDemoViewController.h"
@implementation MBHudDemoAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window.tintColor = [UIColor colorWithRed:.337f green:.57f blue:.731f alpha:1.f];
return YES;
}
@end
+14
View File
@@ -0,0 +1,14 @@
//
// HudDemoViewController.h
// HudDemo
//
// Created by Matej Bukovinski on 30.9.09.
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MBHudDemoViewController : UITableViewController
@end
+450
View File
@@ -0,0 +1,450 @@
//
// MBHudDemoViewController.m
// HudDemo
//
// Created by Matej Bukovinski on 30.9.09.
// Copyright © 2009-2016 Matej Bukovinski. All rights reserved.
//
#import "MBHudDemoViewController.h"
#import "MBProgressHUD.h"
#import <QuartzCore/QuartzCore.h>
@interface MBExample : NSObject
@property (nonatomic, copy) NSString *title;
@property (nonatomic, assign) SEL selector;
@end
@implementation MBExample
+ (instancetype)exampleWithTitle:(NSString *)title selector:(SEL)selector {
MBExample *example = [[self class] new];
example.title = title;
example.selector = selector;
return example;
}
@end
@interface MBHudDemoViewController () <NSURLSessionDelegate>
@property (nonatomic, strong) NSArray<NSArray<MBExample *> *> *examples;
// Atomic, because it may be canceled from main thread, flag is read on a background thread
@property (atomic, assign) BOOL canceled;
@end
@implementation MBHudDemoViewController
#pragma mark - Lifecycle
- (void)awakeFromNib {
[super awakeFromNib];
self.examples =
@[@[[MBExample exampleWithTitle:@"Indeterminate mode" selector:@selector(indeterminateExample)],
[MBExample exampleWithTitle:@"With label" selector:@selector(labelExample)],
[MBExample exampleWithTitle:@"With details label" selector:@selector(detailsLabelExample)]],
@[[MBExample exampleWithTitle:@"Determinate mode" selector:@selector(determinateExample)],
[MBExample exampleWithTitle:@"Annular determinate mode" selector:@selector(annularDeterminateExample)],
[MBExample exampleWithTitle:@"Bar determinate mode" selector:@selector(barDeterminateExample)]],
@[[MBExample exampleWithTitle:@"Text only" selector:@selector(textExample)],
[MBExample exampleWithTitle:@"Custom view" selector:@selector(customViewExample)],
[MBExample exampleWithTitle:@"With action button" selector:@selector(cancelationExample)],
[MBExample exampleWithTitle:@"Mode switching" selector:@selector(modeSwitchingExample)]],
@[[MBExample exampleWithTitle:@"On window" selector:@selector(windowExample)],
[MBExample exampleWithTitle:@"NSURLSession" selector:@selector(networkingExample)],
[MBExample exampleWithTitle:@"Determinate with NSProgress" selector:@selector(determinateNSProgressExample)],
[MBExample exampleWithTitle:@"Dim background" selector:@selector(dimBackgroundExample)],
[MBExample exampleWithTitle:@"Colored" selector:@selector(colorExample)]]
];
}
#pragma mark - Examples
- (void)indeterminateExample {
// Show the HUD on the root view (self.view is a scrollable table view and thus not suitable,
// as the HUD would move with the content as we scroll).
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Fire off an asynchronous task, giving UIKit the opportunity to redraw wit the HUD added to the
// view hierarchy.
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background
[self doSomeWork];
// IMPORTANT - Dispatch back to the main thread. Always access UI
// classes (including MBProgressHUD) on the main thread.
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)labelExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the label text.
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
// You can also adjust other label properties if needed.
// hud.label.font = [UIFont italicSystemFontOfSize:16.f];
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
[self doSomeWork];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)detailsLabelExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the label text.
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
// Set the details label text. Let's make it multiline this time.
hud.detailsLabel.text = NSLocalizedString(@"Parsing data\n(1/1)", @"HUD title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
[self doSomeWork];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)windowExample {
// Covers the entire screen. Similar to using the root view controller view.
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view.window animated:YES];
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
[self doSomeWork];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)determinateExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the determinate mode to show task progress.
hud.mode = MBProgressHUDModeDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgress];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)determinateNSProgressExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the determinate mode to show task progress.
hud.mode = MBProgressHUDModeDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
// Set up NSProgress
NSProgress *progressObject = [NSProgress progressWithTotalUnitCount:100];
hud.progressObject = progressObject;
// Configure a cancel button.
[hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
[hud.button addTarget:progressObject action:@selector(cancel) forControlEvents:UIControlEventTouchUpInside];
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgressObject:progressObject];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)annularDeterminateExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the annular determinate mode to show task progress.
hud.mode = MBProgressHUDModeAnnularDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgress];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)barDeterminateExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the bar determinate mode to show task progress.
hud.mode = MBProgressHUDModeDeterminateHorizontalBar;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgress];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)customViewExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the custom view mode to show any view.
hud.mode = MBProgressHUDModeCustomView;
// Set an image view with a checkmark.
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
hud.customView = [[UIImageView alloc] initWithImage:image];
// Looks a bit nicer if we make it square.
hud.square = YES;
// Optional label text.
hud.label.text = NSLocalizedString(@"Done", @"HUD done title");
[hud hideAnimated:YES afterDelay:3.f];
}
- (void)textExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the text mode to show only text.
hud.mode = MBProgressHUDModeText;
hud.label.text = NSLocalizedString(@"Message here!", @"HUD message title");
// Move to bottm center.
hud.offset = CGPointMake(0.f, MBProgressMaxOffset);
[hud hideAnimated:YES afterDelay:3.f];
}
- (void)cancelationExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set the determinate mode to show task progress.
hud.mode = MBProgressHUDModeDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
// Configure the button.
[hud.button setTitle:NSLocalizedString(@"Cancel", @"HUD cancel button title") forState:UIControlStateNormal];
[hud.button addTarget:self action:@selector(cancelWork:) forControlEvents:UIControlEventTouchUpInside];
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgress];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)modeSwitchingExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set some text to show the initial status.
hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
// Will look best, if we set a minimum size.
hud.minSize = CGSizeMake(150.f, 100.f);
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithMixedProgress:hud];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)networkingExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Set some text to show the initial status.
hud.label.text = NSLocalizedString(@"Preparing...", @"HUD preparing title");
// Will look best, if we set a minimum size.
hud.minSize = CGSizeMake(150.f, 100.f);
[self doSomeNetworkWorkWithProgress];
}
- (void)dimBackgroundExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
// Change the background view style and color.
hud.backgroundView.style = MBProgressHUDBackgroundStyleSolidColor;
hud.backgroundView.color = [UIColor colorWithWhite:0.f alpha:0.1f];
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
[self doSomeWork];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
- (void)colorExample {
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
hud.contentColor = [UIColor colorWithRed:0.f green:0.6f blue:0.7f alpha:1.f];
// Set the label text.
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
[self doSomeWork];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
});
});
}
#pragma mark - Tasks
- (void)doSomeWork {
// Simulate by just waiting.
sleep(3.);
}
- (void)doSomeWorkWithProgressObject:(NSProgress *)progressObject {
// This just increases the progress indicator in a loop.
while (progressObject.fractionCompleted < 1.0f) {
if (progressObject.isCancelled) break;
[progressObject becomeCurrentWithPendingUnitCount:1];
[progressObject resignCurrent];
usleep(50000);
}
}
- (void)doSomeWorkWithProgress {
self.canceled = NO;
// This just increases the progress indicator in a loop.
float progress = 0.0f;
while (progress < 1.0f) {
if (self.canceled) break;
progress += 0.01f;
dispatch_async(dispatch_get_main_queue(), ^{
// Instead we could have also passed a reference to the HUD
// to the HUD to myProgressTask as a method parameter.
[MBProgressHUD HUDForView:self.navigationController.view].progress = progress;
});
usleep(50000);
}
}
- (void)doSomeWorkWithMixedProgress:(MBProgressHUD *)hud {
// Indeterminate mode
sleep(2);
// Switch to determinate mode
dispatch_async(dispatch_get_main_queue(), ^{
hud.mode = MBProgressHUDModeDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
});
float progress = 0.0f;
while (progress < 1.0f) {
progress += 0.01f;
dispatch_async(dispatch_get_main_queue(), ^{
hud.progress = progress;
});
usleep(50000);
}
// Back to indeterminate mode
dispatch_async(dispatch_get_main_queue(), ^{
hud.mode = MBProgressHUDModeIndeterminate;
hud.label.text = NSLocalizedString(@"Cleaning up...", @"HUD cleanining up title");
});
sleep(2);
dispatch_sync(dispatch_get_main_queue(), ^{
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
hud.customView = imageView;
hud.mode = MBProgressHUDModeCustomView;
hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
});
sleep(2);
}
- (void)doSomeNetworkWorkWithProgress {
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
NSURL *URL = [NSURL URLWithString:@"https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/HT1425/sample_iPod.m4v.zip"];
NSURLSessionDownloadTask *task = [session downloadTaskWithURL:URL];
[task resume];
}
- (void)cancelWork:(id)sender {
self.canceled = YES;
}
#pragma mark - UITableViewDelegate
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return self.examples.count;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.examples[section].count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MBExample *example = self.examples[indexPath.section][indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MBExampleCell" forIndexPath:indexPath];
cell.textLabel.text = example.title;
cell.textLabel.textColor = self.view.tintColor;
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.selectedBackgroundView = [UIView new];
cell.selectedBackgroundView.backgroundColor = [cell.textLabel.textColor colorWithAlphaComponent:0.1f];
return cell;
}
#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MBExample *example = self.examples[indexPath.section][indexPath.row];
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[self performSelector:example.selector];
#pragma clang diagnostic pop
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
});
}
#pragma mark - NSURLSessionDelegate
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
// Do something with the data at location...
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
hud.customView = imageView;
hud.mode = MBProgressHUDModeCustomView;
hud.label.text = NSLocalizedString(@"Completed", @"HUD completed title");
[hud hideAnimated:YES afterDelay:3.f];
});
}
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite {
float progress = (float)totalBytesWritten / (float)totalBytesExpectedToWrite;
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
MBProgressHUD *hud = [MBProgressHUD HUDForView:self.navigationController.view];
hud.mode = MBProgressHUDModeDeterminate;
hud.progress = progress;
});
}
@end
+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="Fq2-vR-Rsu">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Navigation Controller-->
<scene sceneID="gfk-xX-zgL">
<objects>
<navigationController id="Fq2-vR-Rsu" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="2LN-7G-jZD">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="iXE-FA-91q" kind="relationship" relationship="rootViewController" id="peN-oI-nI6"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="blx-hg-yRR" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-328" y="525"/>
</scene>
<!--MBProgressHUD-->
<scene sceneID="v3e-zg-M0g">
<objects>
<viewController id="iXE-FA-91q" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Qu9-82-m3K"/>
<viewControllerLayoutGuide type="bottom" id="YSo-zR-oqe"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="TWt-Z9-CWt">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" title="MBProgressHUD" id="IuF-Dp-Voh"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="zfE-vP-CLG" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="413" y="525"/>
</scene>
</scenes>
</document>
+58
View File
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="9dw-fs-BGe">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--MBProgressHUD-->
<scene sceneID="t7O-Gz-sDn">
<objects>
<tableViewController id="1VA-J6-vTg" customClass="MBHudDemoViewController" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="v14-ld-S1m">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<inset key="separatorInset" minX="30" minY="0.0" maxX="30" maxY="0.0"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="MBExampleCell" id="EW9-df-ImK">
<rect key="frame" x="0.0" y="55.5" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="EW9-df-ImK" id="TMc-hr-0mm">
<rect key="frame" x="0.0" y="0.0" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</tableViewCellContentView>
</tableViewCell>
</prototypes>
<sections/>
<connections>
<outlet property="dataSource" destination="1VA-J6-vTg" id="hKQ-Jz-Rff"/>
<outlet property="delegate" destination="1VA-J6-vTg" id="JHC-qg-dsn"/>
</connections>
</tableView>
<navigationItem key="navigationItem" title="MBProgressHUD" id="0xs-aB-nPy"/>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="e7W-Fd-fGX" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="553" y="428"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="sbm-9a-RlC">
<objects>
<navigationController id="9dw-fs-BGe" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="355-tf-2jt">
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="1VA-J6-vTg" kind="relationship" relationship="rootViewController" id="JkN-8S-WYA"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="umT-Lr-spd" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-267" y="428"/>
</scene>
</scenes>
</document>
+16
View File
@@ -0,0 +1,16 @@
//
// main.m
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright bukovinski.com 2009-2016. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "MBHudDemoAppDelegate.h"
int main(int argc, char *argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoAppDelegate class]));
}
}
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="15702" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="appleTV" appearance="light"/>
<dependencies>
<deployment identifier="tvOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="438" y="544"/>
</scene>
</scenes>
</document>
+40
View File
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder.AppleTV.Storyboard" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Hud DemoTV View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="MBHudDemoTVViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eq8-Tn-jxG">
<rect key="frame" x="827" y="20" width="266" height="86"/>
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
<state key="normal" title="Show HUD"/>
<connections>
<action selector="showHud:" destination="BYZ-38-t0r" eventType="primaryActionTriggered" id="s9S-8k-jtW"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="eq8-Tn-jxG" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="LhD-Fp-nSs"/>
<constraint firstItem="eq8-Tn-jxG" firstAttribute="top" secondItem="y3c-jy-aDJ" secondAttribute="bottom" constant="20" id="deC-38-WIW"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="438" y="544"/>
</scene>
</scenes>
</document>
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "tv",
"filename" : "gradient-fill-6-copy.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,14 @@
{
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "tv",
"filename" : "vector-smart-object.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "tv",
"filename" : "gradient-fill-6-copy.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,14 @@
{
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "tv",
"filename" : "vector-smart-object.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
@@ -0,0 +1,26 @@
{
"assets" : [
{
"size" : "1280x768",
"idiom" : "tv",
"filename" : "App Icon - Large.imagestack",
"role" : "primary-app-icon"
},
{
"size" : "400x240",
"idiom" : "tv",
"filename" : "App Icon - Small.imagestack",
"role" : "primary-app-icon"
},
{
"size" : "1920x720",
"idiom" : "tv",
"filename" : "Top Shelf Image.imageset",
"role" : "top-shelf-image"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

@@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "tv",
"filename" : "AppleTV-TopShelf-1920x720.png",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,16 @@
{
"images" : [
{
"orientation" : "landscape",
"idiom" : "tv",
"filename" : "AppleTV-Launch.png",
"extent" : "full-screen",
"minimum-system-version" : "9.0",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIcons</key>
<dict/>
<key>CFBundleIcons~ipad</key>
<dict/>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>Launch</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
</dict>
</plist>
+16
View File
@@ -0,0 +1,16 @@
//
// MBHudDemoTV.h
// HudDemoTV
//
// Created by Matej Bukovinski on 17. 07. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MBHudDemoTVAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
+17
View File
@@ -0,0 +1,17 @@
//
// MBHudDemoTV.m
// HudDemoTV
//
// Created by Matej Bukovinski on 17. 07. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import "MBHudDemoTVAppDelegate.h"
@implementation MBHudDemoTVAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
@end
@@ -0,0 +1,14 @@
//
// MBHudDemoTVViewController.h
// HudDemoTV
//
// Created by Matej Bukovinski on 17. 07. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MBHudDemoTVViewController : UIViewController
@end
@@ -0,0 +1,47 @@
//
// MBHudDemoTVViewController.m
// HudDemoTV
//
// Created by Matej Bukovinski on 17. 07. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import "MBHudDemoTVViewController.h"
#import "MBProgressHUD.h"
@implementation MBHudDemoTVViewController
- (IBAction)showHud:(UIButton *)sender {
sender.enabled = NO;
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
// Set the determinate mode to show task progress.
hud.mode = MBProgressHUDModeDeterminate;
hud.label.text = NSLocalizedString(@"Loading...", @"HUD loading title");
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
// Do something useful in the background and update the HUD periodically.
[self doSomeWorkWithProgress];
dispatch_async(dispatch_get_main_queue(), ^{
[hud hideAnimated:YES];
sender.enabled = YES;
});
});
}
- (void)doSomeWorkWithProgress {
// This just increases the progress indicator in a loop.
float progress = 0.0f;
while (progress < 1.0f) {
progress += 0.01f;
dispatch_async(dispatch_get_main_queue(), ^{
// Instead we could have also passed a reference to the HUD
// to the HUD to myProgressTask as a method parameter.
[MBProgressHUD HUDForView:self.view].progress = progress;
});
usleep(50000);
}
}
@end
+16
View File
@@ -0,0 +1,16 @@
//
// main.m
// HudDemoTV
//
// Created by Matej Bukovinski on 17. 07. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "MBHudDemoTVAppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MBHudDemoTVAppDelegate class]));
}
}
+525
View File
@@ -0,0 +1,525 @@
//
// HudTests.m
// HudTests
//
// Created by Matej Bukovinski on 31. 01. 16.
// Copyright © 2016 Matej Bukovinski. All rights reserved.
//
#import <XCTest/XCTest.h>
#import "MBProgressHUD.h"
#define weakify(var) __weak typeof(var) weak_##var = var;
#define strongify(var) \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wshadow\"") \
__strong typeof(var) var = weak_##var; \
_Pragma("clang diagnostic pop")
#define MBTestHUDIsVisible(hud, rootView) \
do { \
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
XCTAssertEqual(hud.alpha, 1.f, @"The HUD should be visible."); \
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible."); \
} while (0)
#define MBTestHUDIsHiden(hud, rootView) \
do { \
XCTAssertEqual(hud.alpha, 0.f, @"The hud should be faded out."); \
} while (0)
#define MBTestHUDIsHidenAndRemoved(hud, rootView) \
do { \
XCTAssertFalse([rootView.subviews containsObject:hud], @"The HUD should not be part of the view hierarchy."); \
MBTestHUDIsHiden(hud, rootView); \
XCTAssertNil(hud.superview, @"The HUD should not have a superview."); \
} while (0)
@interface HudTests : XCTestCase <MBProgressHUDDelegate>
@property (nonatomic) XCTestExpectation *hideExpectation;
@property (nonatomic, copy) dispatch_block_t hideChecks;
@end
@implementation HudTests
#pragma mark - Initialization
- (void)testInitializers {
XCTAssertNotNil([[MBProgressHUD alloc] initWithView:[UIView new]]);
UIView *nilView = nil;
XCTAssertThrows([[MBProgressHUD alloc] initWithView:nilView]);
XCTAssertNotNil([[MBProgressHUD alloc] initWithFrame:CGRectZero]);
NSKeyedUnarchiver *dummyUnarchiver;
#if !TARGET_OS_MACCATALYST
if (@available(iOS 11.0, *)) {
#endif
dummyUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:[NSData data] error:nil];
#if !TARGET_OS_MACCATALYST
} else {
dummyUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:[NSData data]];
}
#endif
XCTAssertNotNil([[MBProgressHUD alloc] initWithCoder:dummyUnarchiver]);
}
#pragma mark - Convenience
- (void)testNonAnimatedConvenienceHUDPresentation {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
XCTAssertNotNil(hud, @"A HUD should be created.");
MBTestHUDIsVisible(hud, rootView);
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
XCTAssertFalse([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should NOT be animated.");
XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
MBTestHUDIsHidenAndRemoved(hud, rootView);
XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:NO], @"A subsequent HUD hide operation should fail.");
}
- (void)testAnimatedConvenienceHUDPresentation {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
hud.delegate = self;
XCTAssertNotNil(hud, @"A HUD should be created.");
MBTestHUDIsVisible(hud, rootView);
XCTAssertEqual(hud.bezelView.alpha, 1.f, @"The HUD should be visible.");
XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
XCTAssertEqualObjects([MBProgressHUD HUDForView:rootView], hud, @"The HUD should be found via the convenience operation.");
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:YES], @"The HUD should be found and removed.");
XCTAssertTrue([rootView.subviews containsObject:hud], @"The HUD should still be part of the view hierarchy.");
XCTAssertEqual(hud.alpha, 1.f, @"The hud should still be visible.");
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view.");
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD bezel should be animated out.");
XCTAssertTrue([hud.bezelView.layer.animationKeys containsObject:@"opacity"], @"The opacity should be animated.");
weakify(self);
self.hideChecks = ^{
strongify(self);
MBTestHUDIsHidenAndRemoved(hud, rootView);
XCTAssertFalse([MBProgressHUD hideHUDForView:rootView animated:YES], @"A subsequent HUD hide operation should fail.");
};
[self waitForExpectationsWithTimeout:5. handler:nil];
}
- (void)testCompletionBlock {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
XCTestExpectation *completionExpectation = [self expectationWithDescription:@"The completionBlock: should have been called."];
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:YES];
hud.delegate = self;
hud.completionBlock = ^{
[completionExpectation fulfill];
};
[hud hideAnimated:YES];
[self waitForExpectationsWithTimeout:5. handler:nil];
}
#pragma mark - Modes
- (void)testRoundDeterminate {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.mode = MBProgressHUDModeDeterminate;
[rootView addSubview:hud];
[hud showAnimated:NO];
MBTestHUDIsVisible(hud, rootView);
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBRoundProgressView class]]);
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
- (void)testRoundAnnularDeterminate {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.mode = MBProgressHUDModeAnnularDeterminate;
[rootView addSubview:hud];
[hud showAnimated:NO];
MBTestHUDIsVisible(hud, rootView);
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBRoundProgressView class]]);
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
- (void)testDeterminateHorizontalBar {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.mode = MBProgressHUDModeDeterminateHorizontalBar;
[rootView addSubview:hud];
[hud showAnimated:NO];
MBTestHUDIsVisible(hud, rootView);
XCTAssertNotNil([self view:hud firstSubviewOfClass:[MBBarProgressView class]]);
XCTAssertTrue([MBProgressHUD hideHUDForView:rootView animated:NO], @"The HUD should be found and removed.");
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
#pragma mark - Customization
- (void)testEffectViewOrderAfterSettingBlurStyle {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
[hud.bezelView.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
XCTAssert(![view isKindOfClass:UIVisualEffectView.class] || idx == 0, @"Just the first subview should be a visual effect view.");
}];
hud.bezelView.blurEffectStyle = UIBlurEffectStyleDark;
[hud.bezelView.subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
XCTAssert(![view isKindOfClass:UIVisualEffectView.class] || idx == 0, @"Just the first subview should be a visual effect view even after changing the blurEffectStyle.");
}];
}
#pragma mark - Delay
- (void)testDelayedHide {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
hud.delegate = self;
XCTAssertNotNil(hud, @"A HUD should be created.");
[hud hideAnimated:NO afterDelay:2];
MBTestHUDIsVisible(hud, rootView);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
MBTestHUDIsVisible(hud, rootView);
});
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// After the grace time passes, the HUD should still not be shown.
MBTestHUDIsHidenAndRemoved(hud, rootView);
[hideCheckExpectation fulfill];
});
[self waitForExpectationsWithTimeout:5. handler:nil];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
- (void)testDelayedHideDoesNotRace {
// https://github.com/jdg/MBProgressHUD/issues/503
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
[rootView addSubview:hud];
[hud showAnimated:YES];
[hud hideAnimated:YES afterDelay:0.3];
MBTestHUDIsVisible(hud, rootView);
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[hud showAnimated:YES];
[hud hideAnimated:YES afterDelay:0.3];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
MBTestHUDIsHiden(hud, rootView);
[hideCheckExpectation fulfill];
});
});
[self waitForExpectationsWithTimeout:5. handler:nil];
[hud removeFromSuperview];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
#pragma mark - Ruse
- (void)testNonAnimatedHudReuse {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
[rootView addSubview:hud];
[hud showAnimated:NO];
XCTAssertNotNil(hud, @"A HUD should be created.");
[hud hideAnimated:NO];
[hud showAnimated:NO];
MBTestHUDIsVisible(hud, rootView);
[hud hideAnimated:NO];
[hud removeFromSuperview];
}
- (void)testUnfinishedHidingAnimation {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:rootView animated:NO];
[hud hideAnimated:YES];
// Cancel all animations. It will cause `UIView+animate...` to call completionBlock with `finished = NO`.
// It's same as if you call `[hud hideAnimated:YES]` while the app is in background.
[hud.bezelView.layer removeAllAnimations];
[hud.backgroundView.layer removeAllAnimations];
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// After the grace time passes, the HUD should still not be shown.
MBTestHUDIsHidenAndRemoved(hud, rootView);
[hideCheckExpectation fulfill];
});
[self waitForExpectationsWithTimeout:5. handler:nil];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
- (void)testAnimatedImmediateHudReuse {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
XCTestExpectation *hideExpectation = [self expectationWithDescription:@"The hud should have been hidden."];
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
[rootView addSubview:hud];
[hud showAnimated:YES];
XCTAssertNotNil(hud, @"A HUD should be created.");
[hud hideAnimated:YES];
[hud showAnimated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
MBTestHUDIsVisible(hud, rootView);
[hud hideAnimated:NO];
[hud removeFromSuperview];
[hideExpectation fulfill];
});
[self waitForExpectationsWithTimeout:5. handler:nil];
}
#pragma mark - Min show time
- (void)testMinShowTime {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.delegate = self;
hud.removeFromSuperViewOnHide = YES;
hud.minShowTime = 2.;
[rootView addSubview:hud];
[hud showAnimated:YES];
XCTAssertNotNil(hud, @"A HUD should be created.");
[hud hideAnimated:YES];
__block BOOL checkedAfterOneSecond = NO;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// Check that the hud is still visible
MBTestHUDIsVisible(hud, rootView);
checkedAfterOneSecond = YES;
});
weakify(self);
self.hideChecks = ^{
strongify(self);
XCTAssertTrue(checkedAfterOneSecond);
};
[self waitForExpectationsWithTimeout:5. handler:nil];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
#pragma mark - Grace time
- (void)testGraceTime {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.delegate = self;
hud.removeFromSuperViewOnHide = YES;
hud.graceTime = 2.;
[rootView addSubview:hud];
[hud showAnimated:YES];
XCTAssertNotNil(hud, @"A HUD should be created.");
// The HUD should be added to the view but still hidden
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// The HUD should be added to the view but still hidden
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// After the grace time passes, the HUD should be shown.
MBTestHUDIsVisible(hud, rootView);
[hud hideAnimated:YES];
});
[self waitForExpectationsWithTimeout:5. handler:nil];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
- (void)testHideBeforeGraceTimeElapsed {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
self.hideExpectation = [self expectationWithDescription:@"The hudWasHidden: delegate should have been called."];
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.delegate = self;
hud.removeFromSuperViewOnHide = YES;
hud.graceTime = 2.;
[rootView addSubview:hud];
[hud showAnimated:YES];
XCTAssertNotNil(hud, @"A HUD should be created.");
// The HUD should be added to the view but still hidden
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// The HUD should be added to the view but still hidden
XCTAssertEqualObjects(hud.superview, rootView, @"The hud should be added to the view."); \
XCTAssertEqual(hud.alpha, 0.f, @"The HUD should not be visible."); \
XCTAssertFalse(hud.hidden, @"The HUD should be visible."); \
XCTAssertEqual(hud.bezelView.alpha, 0.f, @"The HUD should not be visible."); \
[hud hideAnimated:YES];
});
XCTestExpectation *hideCheckExpectation = [self expectationWithDescription:@"Hide check"];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// After the grace time passes, the HUD should still not be shown.
MBTestHUDIsHidenAndRemoved(hud, rootView);
[hideCheckExpectation fulfill];
});
[self waitForExpectationsWithTimeout:5. handler:nil];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
#pragma mark - Customization
- (void)testShape {
UIViewController *rootViewController = UIApplication.sharedApplication.windows.firstObject.rootViewController;
UIView *rootView = rootViewController.view;
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:rootView];
hud.removeFromSuperViewOnHide = YES;
hud.offset = CGPointMake(50, 50);
hud.square = YES;
hud.label.text = @"Some long text...";
[rootView addSubview:hud];
[hud showAnimated:NO];
[hud setNeedsLayout];
[hud layoutIfNeeded];
CGRect frame = hud.bezelView.frame;
XCTAssertEqual(frame.size.width, frame.size.height);
[hud hideAnimated:NO];
MBTestHUDIsHidenAndRemoved(hud, rootView);
}
#pragma mark - MBProgressHUDDelegate
- (void)hudWasHidden:(MBProgressHUD *)hud {
if (self.hideChecks) self.hideChecks();
self.hideChecks = nil;
[self.hideExpectation fulfill];
self.hideExpectation = nil;
}
#pragma mark - Helpers
- (nullable UIView *)view:(UIView *)view firstSubviewOfClass:(Class)clazz {
for (__unsafe_unretained UIView *subview in view.subviews) {
if ([subview isKindOfClass:clazz]) {
return subview;
}
}
__unsafe_unretained UIView *theView;
for (__unsafe_unretained UIView *subview in view.subviews) {
theView = [self view:subview firstSubviewOfClass:clazz];
if (theView) { break; }
}
return theView;
}
@end
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

-241
View File
@@ -1,241 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4457.9" systemVersion="12E55" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
<dependencies>
<deployment version="528" identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3682.9"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HudDemoViewController">
<connections>
<outlet property="view" destination="52" id="70"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="52">
<rect key="frame" x="0.0" y="0.0" width="320" height="697"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="54">
<rect key="frame" x="0.0" y="0.0" width="320" height="697"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="8">
<rect key="frame" x="20" y="20" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Simple indeterminate progress">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showSimple:" destination="-1" eventType="touchUpInside" id="12"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="9">
<rect key="frame" x="20" y="68" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="With label">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithLabel:" destination="-1" eventType="touchUpInside" id="13"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="10">
<rect key="frame" x="20" y="116" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="With details label">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="disabled" title="With details label"/>
<state key="selected" title="With details label"/>
<state key="highlighted" title="With details label">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithDetailsLabel:" destination="-1" eventType="touchUpInside" id="14"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="16">
<rect key="frame" x="20" y="164" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Determinate mode">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithLabelDeterminate:" destination="-1" eventType="touchUpInside" id="17"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="106">
<rect key="frame" x="20" y="212" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Annular determinate mode">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWIthLabelAnnularDeterminate:" destination="-1" eventType="touchUpInside" id="120"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="117">
<rect key="frame" x="20" y="257" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Bar determinate mode">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithLabelDeterminateHorizontalBar:" destination="-1" eventType="touchUpInside" id="121"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="20">
<rect key="frame" x="20" y="354" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Mode switching">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithLabelMixed:" destination="-1" eventType="touchUpInside" id="21"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="49">
<rect key="frame" x="20" y="400" width="280" height="44"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Using blocks">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showUsingBlocks:" destination="-1" eventType="touchUpInside" id="51"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="71">
<rect key="frame" x="20" y="450" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="On Window">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showOnWindow:" destination="-1" eventType="touchUpInside" id="73"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="76">
<rect key="frame" x="20" y="498" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="NSURLConnection">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showURL:" destination="-1" eventType="touchUpInside" id="78"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="43">
<rect key="frame" x="20" y="306" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Custom view">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithCustomView:" destination="-1" eventType="touchUpInside" id="47"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="79">
<rect key="frame" x="20" y="545" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Dim background">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showWithGradient:" destination="-1" eventType="touchUpInside" id="81"/>
</connections>
</button>
<button opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="fill" buttonType="roundedRect" lineBreakMode="middleTruncation" id="111">
<rect key="frame" x="20" y="593" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
<state key="normal" title="Text only">
<color key="titleColor" red="0.19607843" green="0.30980393000000001" blue="0.52156866000000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="showTextOnly:" destination="-1" eventType="touchUpInside" id="113"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="115">
<rect key="frame" x="20" y="641" width="280" height="37"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Colored">
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<state key="highlighted">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="showWithColor:" destination="-1" eventType="touchUpInside" id="116"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.8862745098" green="0.90588235289999997" blue="0.92941176469999998" alpha="1" colorSpace="calibratedRGB"/>
<simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/>
</view>
</subviews>
</scrollView>
</objects>
</document>
-77
View File
@@ -1,77 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4457.9" systemVersion="12E55" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
<dependencies>
<deployment version="528" identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3682.9"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIApplication">
<connections>
<outlet property="delegate" destination="3" id="4"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<customObject id="3" userLabel="HudDemo App Delegate" customClass="HudDemoAppDelegate">
<connections>
<outlet property="navController" destination="15" id="19"/>
<outlet property="window" destination="12" id="14"/>
</connections>
</customObject>
<window opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="12">
<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="0.8862745098" green="0.90588235289999997" blue="0.92941176469999998" alpha="1" colorSpace="calibratedRGB"/>
<simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/>
</window>
<navigationController id="15">
<extendedEdge key="edgesForExtendedLayout"/>
<simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/>
<nil key="simulatedTopBarMetrics"/>
<nil key="simulatedBottomBarMetrics"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics"/>
<nil key="simulatedDestinationMetrics"/>
<navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="17">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<viewControllers>
<viewController title="MBProgressHUD" nibName="HudDemoViewController" id="16" customClass="HudDemoViewController">
<extendedEdge key="edgesForExtendedLayout"/>
<navigationItem key="navigationItem" title="MBProgressHUD" id="18"/>
<nil key="simulatedStatusBarMetrics"/>
<nil key="simulatedTopBarMetrics"/>
<nil key="simulatedBottomBarMetrics"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics"/>
<nil key="simulatedDestinationMetrics"/>
</viewController>
</viewControllers>
</navigationController>
</objects>
<classes>
<class className="HudDemoAppDelegate" superclassName="NSObject">
<source key="sourceIdentifier" type="project" relativePath="./Classes/HudDemoAppDelegate.h"/>
<relationships>
<relationship kind="outlet" name="navController" candidateClass="UINavigationController"/>
<relationship kind="outlet" name="window" candidateClass="UIWindow"/>
</relationships>
</class>
<class className="HudDemoViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/HudDemoViewController.h"/>
<relationships>
<relationship kind="action" name="showOnWindow:"/>
<relationship kind="action" name="showSimple:"/>
<relationship kind="action" name="showTextOnly:"/>
<relationship kind="action" name="showURL:"/>
<relationship kind="action" name="showUsingBlocks:"/>
<relationship kind="action" name="showWIthLabelAnnularDeterminate:"/>
<relationship kind="action" name="showWithColor:"/>
<relationship kind="action" name="showWithCustomView:"/>
<relationship kind="action" name="showWithDetailsLabel:"/>
<relationship kind="action" name="showWithGradient:"/>
<relationship kind="action" name="showWithLabel:"/>
<relationship kind="action" name="showWithLabelDeterminate:"/>
<relationship kind="action" name="showWithLabelDeterminateHorizontalBar:"/>
<relationship kind="action" name="showWithLabelMixed:"/>
</relationships>
</class>
</classes>
</document>
-17
View File
@@ -1,17 +0,0 @@
//
// main.m
// HudDemo
//
// Created by Matej Bukovinski on 2.4.09.
// Copyright bukovinski.com 2009. All rights reserved.
//
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

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