Compare commits
461 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a7c3601fbd | |||
| c843711aa8 | |||
| ec7d1e4aca | |||
| aec802ba2c | |||
| e1e6052966 | |||
| 51291d888e | |||
| 0088039ee7 | |||
| 6424bb843b | |||
| 117d524029 | |||
| cd545e566d | |||
| e5ff0eb91b | |||
| 59a8240da6 | |||
| dffe0e2763 | |||
| bb8e454998 | |||
| 302e56caa4 | |||
| dbbb9e7b08 | |||
| 9365cb42e8 | |||
| 0f0686cc18 | |||
| 6d8aabcb35 | |||
| 5a5e8b1b12 | |||
| bc89f10b91 | |||
| 9f5c392d49 | |||
| 772efaa7ec | |||
| 95ac3cc577 | |||
| b8e4ad0fcc | |||
| 6cdb787c21 | |||
| e946b05a9a | |||
| 740d475fe8 | |||
| 1dc32f2e4d | |||
| 406eb5e62f | |||
| 0416fa6c6f | |||
| 7e1f4b6a33 | |||
| 1f794f62eb | |||
| b11d70c22d | |||
| ae9dd5f244 | |||
| 643c6d1727 | |||
| 18127ef046 | |||
| a29c736ef8 | |||
| 2171272be3 | |||
| fd6548f547 | |||
| 61e5236bd3 | |||
| 2546c7efd9 | |||
| c8c91f7783 | |||
| 33eb2ddbe8 | |||
| 3baf8db932 | |||
| 7f12067e3b | |||
| ca93b61a84 | |||
| f663584e42 | |||
| 4acabac2e3 | |||
| 4762896393 | |||
| d6f3e37d7b | |||
| ad8148d32e | |||
| 3de6e1398f | |||
| c2d44aa0e8 | |||
| 383e8f5131 | |||
| f3732cc105 | |||
| 316cb39f86 | |||
| ba3bd1b313 | |||
| 5c3b93fe4f | |||
| abf99ff2c3 | |||
| 5ec046ae8e | |||
| 874860e0f5 | |||
| 605f9d762e | |||
| b1b206c7ca | |||
| e9408d01f3 | |||
| c9028d2412 | |||
| 1a7424df44 | |||
| 73f3353a93 | |||
| 49c1136fa6 | |||
| d802c7c73c | |||
| ebdd2ff653 | |||
| 7e65c68e9f | |||
| 32843df5b6 | |||
| f6913b4db1 | |||
| f39a83aef6 | |||
| 7ea2306a8d | |||
| 14ec8907af | |||
| 57d5f406b1 | |||
| 782538a3fc | |||
| 00b84fa176 | |||
| 4b359365ac | |||
| 29f8ddc9cf | |||
| a6d9f95b1e | |||
| 5fb23d6df8 | |||
| a46e1bc21f | |||
| 15718b937d | |||
| 2703ca1601 | |||
| fbf05a09c2 | |||
| 7105c505c8 | |||
| 8bb8d79140 | |||
| 80fc1445c0 | |||
| 225de3cb29 | |||
| f6864fd49e | |||
| cc19e2277b | |||
| 4d8c0a7f18 | |||
| 89218d6043 | |||
| c46e739db0 | |||
| a578f8084b | |||
| 24e4fee6f5 | |||
| 2107d0d6a3 | |||
| e733e566c8 | |||
| a3d360c6a2 | |||
| ae19a541b3 | |||
| 5935c741ab | |||
| 6185a5e4f6 | |||
| cc02637cc5 | |||
| 9c91d4e776 | |||
| 011c76ede6 | |||
| de4938c0bb | |||
| 9d59d0bbee | |||
| 3e64c75ebc | |||
| fa6b939fa7 | |||
| 354346840f | |||
| 8c9aacb712 | |||
| 66ecfd19fb | |||
| ae6aabb87e | |||
| 7a2b1ec8d7 | |||
| 2960142018 | |||
| 2dbe3e42d0 | |||
| 323efb5ffd | |||
| fdff68e528 | |||
| 0b43a40bc6 | |||
| c6311feb43 | |||
| fbb5141587 | |||
| 3bc170a91d | |||
| 93c6958242 | |||
| 2fbcbae6a2 | |||
| 2a2f1598e8 | |||
| dec9671f70 | |||
| a1302e953a | |||
| 82cbc6f6b0 | |||
| f303b71e94 | |||
| 690dd7614b | |||
| 9204c36a37 | |||
| 1db6c6d77c | |||
| 4790013427 | |||
| 1fdda7fb51 | |||
| 5b2fb4a8e8 | |||
| 4624d82d9a | |||
| dc5fe5a3a7 | |||
| 33b2f61d61 | |||
| f089d2a035 | |||
| 68b3c7480d | |||
| cada260e74 | |||
| 019cae8314 | |||
| 951568b2c5 | |||
| f2361de0b6 | |||
| bafe0e3d14 | |||
| 1e276402b9 | |||
| 200c7393d6 | |||
| 789127c0e6 | |||
| 7214621068 | |||
| 66dfd14a98 | |||
| 4f54a2fa62 | |||
| 7391373de1 | |||
| ebd0f7d473 | |||
| ee53addbac | |||
| 8ad3217f8e | |||
| 7a13716d15 | |||
| 0647d46889 | |||
| 85d6948184 | |||
| 0690b7fdf4 | |||
| 8cd77c6565 | |||
| eb5b08346b | |||
| 5094d45f8c | |||
| b039d5dd86 | |||
| 184bf5e9fb | |||
| c2989e2530 | |||
| 40084a69cd | |||
| 4bf4207e14 | |||
| a440364a9d | |||
| e208675d59 | |||
| 794daa144d | |||
| 43b1ff26eb | |||
| 343653cad7 | |||
| f55d80a7b1 | |||
| be79544453 | |||
| bfe2bd7e72 | |||
| bea8cd649d | |||
| 427b24d066 | |||
| 2fa6932545 | |||
| 58eea2077c | |||
| 9d3fa3ac39 | |||
| bec47eff43 | |||
| f487a8fa17 | |||
| 1efc22a47d | |||
| 22dc7954c8 | |||
| 8aba5989c8 | |||
| 8c0678b52c | |||
| bfa86eff5b | |||
| 36a14f4644 | |||
| f3d2d9c63c | |||
| 1c0dc2e519 | |||
| 6884364369 | |||
| 9e110dfe78 | |||
| 7afbf66cd3 | |||
| bce190f0f3 | |||
| ceb113ed3d | |||
| 9d22e42d31 | |||
| 3ee00aa2e7 | |||
| b3c1864352 | |||
| 252d75257e | |||
| d8037ba621 | |||
| 083c55f2d7 | |||
| 3c7c146ebf | |||
| 5e99b1b7ba | |||
| 6afd859c27 | |||
| 4b5966376f | |||
| e10a8efdfb | |||
| 96df2843df | |||
| 5f9fbd6540 | |||
| c7c95f4015 | |||
| 7c165f0740 | |||
| 78de340a1a | |||
| 701f0b3ba5 | |||
| b926ea64d8 | |||
| 5c4f8a60f0 | |||
| 77828226b2 | |||
| b1564fd8d6 | |||
| f0c6d4dadb | |||
| 501abeaaf3 | |||
| e73ea408b3 | |||
| 1a541aedcd | |||
| 1f70b49ff6 | |||
| 81851db6a6 | |||
| ac7a7a8c5e | |||
| 61addd2405 | |||
| cca92d1156 | |||
| 5603383161 | |||
| fceb09cc8b | |||
| dc534dcb31 | |||
| ab71afed92 | |||
| a9f8fe88eb | |||
| 5612808fb1 | |||
| fe388ef956 | |||
| f6689c1c26 | |||
| 69c58ea278 | |||
| 6033a0b1ad | |||
| 3ac3f787eb | |||
| f75901d9b0 | |||
| fddc5dbcdf | |||
| 28c44be413 | |||
| c938b0f0f7 | |||
| 23023d7983 | |||
| f316d247ae | |||
| f4aaad3906 | |||
| 2f44900d0d | |||
| fc1903ff44 | |||
| 2216078a1a | |||
| cb56321f40 | |||
| d9886df3ad | |||
| 7e0bda2f85 | |||
| b8ef4c4e58 | |||
| 2716a01b99 | |||
| e368a8c243 | |||
| 59682eb65e | |||
| 7ed09decad | |||
| 4b403a7d2a | |||
| 0a15804a71 | |||
| 8eb3e881b9 | |||
| 4ad3584fee | |||
| 4f8b21759a | |||
| 83630b6198 | |||
| bd24a291d1 | |||
| 8e56d3e347 | |||
| 5fb0921dab | |||
| f0601bd900 | |||
| 194c82c86b | |||
| 516554f1f9 | |||
| 06fdc08431 | |||
| 9cfed6bc39 | |||
| 4194dcf10a | |||
| 2d3561081b | |||
| 8800353105 | |||
| 5918829642 | |||
| 69b4f27895 | |||
| c13d794975 | |||
| 913d8f37e5 | |||
| 130d31288e | |||
| 307ca57a4c | |||
| d775e8d985 | |||
| 7ffa6696c9 | |||
| 0fffff8031 | |||
| 322af011f6 | |||
| e879be1d22 | |||
| 65ecd91445 | |||
| da3d84ea0c | |||
| 1f1aa50bb4 | |||
| 7c90731626 | |||
| bb4a35b008 | |||
| c56e789aec | |||
| c8e51ec1ef | |||
| a5d34f1aac | |||
| 8e0aed0409 | |||
| 7c8ef3d5f1 | |||
| b157ecb0ac | |||
| fdd147f3c2 | |||
| fa5cc8e4ec | |||
| 2894a431bd | |||
| 61e8f0ad13 | |||
| ed4f0d0ec1 | |||
| 5c879487e2 | |||
| d4581b29f3 | |||
| 90c1ffc412 | |||
| fc51985417 | |||
| e7b749355c | |||
| fd37963b08 | |||
| c7b897895d | |||
| a50f7a36a4 | |||
| 355651dd21 | |||
| 6beae8260e | |||
| b68750e3a0 | |||
| febda3cb4b | |||
| 21020cdc4e | |||
| 5565c64f89 | |||
| 3e095ae0b9 | |||
| b0f1f66148 | |||
| 1761e41355 | |||
| 83c7ce6aae | |||
| a25be7e1e8 | |||
| 2f11106a92 | |||
| 64a3f8ac8b | |||
| 6c4bd53249 | |||
| d3c6f30b00 | |||
| 8a84e57ede | |||
| 427a8ababa | |||
| c45743cc20 | |||
| e726947f61 | |||
| c84bea7b7b | |||
| c24d6e7fcd | |||
| f53fbdc0af | |||
| aa9ecd55da | |||
| 980ca2a73f | |||
| 7f1f919937 | |||
| 7d8d0ddba4 | |||
| a082c2f63d | |||
| 19f91d283b | |||
| 50f23054b1 | |||
| ed8f872664 | |||
| 2065aa5c0b | |||
| bd3fee3df5 | |||
| ffaa27fb9d | |||
| 2cdf32f1ae | |||
| bc1d7f9016 | |||
| 74ad80820f | |||
| 901d5c44d2 | |||
| c05664b882 | |||
| 5ac34dd973 | |||
| 4eda67f5d9 | |||
| 4236564c5a | |||
| 973aa1b268 | |||
| ff3f08ec33 | |||
| f3dd4fd0bc | |||
| 09284ec788 | |||
| 283cd62ae1 | |||
| 70614d424f | |||
| a6d89f16d3 | |||
| d7ba79de74 | |||
| e22fcf318d | |||
| c49b6cbcf7 | |||
| 1204df15e7 | |||
| 30814ccfa5 | |||
| 98c85444eb | |||
| 48a98d393e | |||
| b9ce4bfdcc | |||
| 0c579a9010 | |||
| 7dffd6ce5b | |||
| 271252c192 | |||
| 0151c89961 | |||
| f051f095cc | |||
| 30d1919373 | |||
| 197fa72df2 | |||
| b5fac1cddf | |||
| 696108763e | |||
| 3a00e68d24 | |||
| f1a30d2784 | |||
| 255de853ee | |||
| dd23be89a7 | |||
| d238203406 | |||
| 7a43c05c46 | |||
| 46cdd1bf7f | |||
| cb9db00187 | |||
| 1543526647 | |||
| 0b40a0629b | |||
| 4b9eb5d95f | |||
| a02e54573e | |||
| 716925f14d | |||
| a6059f380d | |||
| 43771afb35 | |||
| fa29deb418 | |||
| a65593d3a0 | |||
| d4238ec4f1 | |||
| 98833ab73c | |||
| b5f5827a9e | |||
| 34e95db3bc | |||
| 4b96571371 | |||
| d6533e6992 | |||
| 93fff466fe | |||
| f8f1136bec | |||
| d8e7c5139d | |||
| 262aea3514 | |||
| 30f7fb60fa | |||
| c0548d0dfd | |||
| 06d5bf88b9 | |||
| 0ed184fc29 | |||
| 7279a44eee | |||
| 5b42b0fc86 | |||
| 1d94c3b644 | |||
| 1f0dbc5638 | |||
| 02f1e96f66 | |||
| 455b692e8e | |||
| 745ce2e13f | |||
| 6bba10e7ec | |||
| d1d331a77a | |||
| c01faa7a9a | |||
| 47234d832d | |||
| f340a05580 | |||
| e9644ed1f5 | |||
| 1e8c78dcbc | |||
| a16758efe5 | |||
| 51284b1268 | |||
| 647f4f3b93 | |||
| 3d5c3cc993 | |||
| 1321c0b8e3 | |||
| e55b47a509 | |||
| 1bf46c3ea6 | |||
| 4ba6e7f524 | |||
| 0c83edd0ca | |||
| dd0e474624 | |||
| 51b883d18a | |||
| 9b0d99b9bd | |||
| 7aa3f64d64 | |||
| aad2c4e9f8 | |||
| 4dedea8517 | |||
| 6b2d1fce69 | |||
| 4af17598a5 | |||
| caf39807f9 | |||
| 664ecad7d7 | |||
| 45b303c67b | |||
| f0bad8df77 | |||
| 99591c0b6a | |||
| 3795e20e80 | |||
| ee3799cbf4 | |||
| ecc2d11f6b | |||
| 967ff36dc1 | |||
| 6bb78c6124 | |||
| b8a2c72104 | |||
| 61613a3840 | |||
| 1735f1d466 | |||
| ec1ac76db8 | |||
| 9eeb180c54 | |||
| f2b9c1c5c5 | |||
| 4e87347256 | |||
| 2b463234fb | |||
| c2073c4e49 | |||
| a49c7bb16b | |||
| 5748959026 | |||
| 92b672781b | |||
| fce87415d2 | |||
| 4124b39eb6 | |||
| 2afc4dd6e2 |
@@ -1 +0,0 @@
|
||||
*.pbxproj -crlf -diff -merge
|
||||
@@ -5,6 +5,7 @@ build/
|
||||
*.mode2v3
|
||||
*.perspectivev3
|
||||
xcuserdata/
|
||||
*.xccheckout
|
||||
|
||||
# old skool
|
||||
.svn
|
||||
@@ -16,3 +17,9 @@ profile
|
||||
# vim noise
|
||||
*~
|
||||
*.swp
|
||||
|
||||
# AppCode noise
|
||||
.idea/
|
||||
|
||||
# Ruby
|
||||
.ruby-version
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
language: objective-c
|
||||
osx_image: xcode7.2
|
||||
script:
|
||||
- xctool -workspace MBProgressHUD.xcworkspace -scheme HudDemo -sdk iphonesimulator clean build
|
||||
- xctool -workspace MBProgressHUD.xcworkspace -scheme HudDemoTV -sdk iphonesimulator clean build
|
||||
- xctool -workspace MBProgressHUD.xcworkspace -scheme HudTests -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPad Air 2,OS=9.2" clean build test GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
@@ -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.
|
||||
@@ -1,22 +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
|
||||
|
||||
@@ -1,33 +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 {
|
||||
|
||||
// Override point for customization after app launch
|
||||
[window addSubview:navController.view];
|
||||
[window makeKeyAndVisible];
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[navController release];
|
||||
[window release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
@@ -1,34 +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)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
|
||||
|
||||
@@ -1,259 +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>
|
||||
|
||||
@implementation HudDemoViewController
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Constants
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Lifecycle methods
|
||||
|
||||
- (void)viewDidLoad {
|
||||
UIView *content = [[self.view subviews] objectAtIndex:0];
|
||||
((UIScrollView *)self.view).contentSize = content.bounds.size;
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
|
||||
// Release anything that's not essential, such as cached data
|
||||
}
|
||||
|
||||
- (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)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 {
|
||||
#ifdef __BLOCKS__
|
||||
// No need to retain (just a local variable)
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
|
||||
hud.labelText = @"Loading";
|
||||
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
|
||||
// Do a taks in the background
|
||||
[self myTask];
|
||||
// Hide the HUD in the main tread
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[MBProgressHUD hideHUDForView:self.navigationController.view animated:YES];
|
||||
});
|
||||
});
|
||||
#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:@"https://github.com/matej/MBProgressHUD/zipball/master"];
|
||||
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];
|
||||
}
|
||||
|
||||
|
||||
- (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];
|
||||
}
|
||||
|
||||
#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);
|
||||
// The sample image is based on the work by 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];
|
||||
HUD.mode = MBProgressHUDModeCustomView;
|
||||
HUD.labelText = @"Completed";
|
||||
sleep(2);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark NSURLConnectionDelegete
|
||||
|
||||
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
|
||||
expectedLength = [response expectedContentLength];
|
||||
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
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 21 KiB |
@@ -7,43 +7,66 @@
|
||||
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 */; };
|
||||
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
|
||||
2899E5220DE3E06400AC0155 /* HudDemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */; };
|
||||
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
|
||||
28D7ACF80DDB3853001CB0EB /* HudDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* HudDemoViewController.m */; };
|
||||
5BE141EE1CD8C33D0023BC9E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BE141ED1CD8C33D0023BC9E /* QuartzCore.framework */; };
|
||||
D22F7D810F85241C00550BB3 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
D2B174121C5E3A3D00021915 /* HudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B174111C5E3A3D00021915 /* HudTests.m */; };
|
||||
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; };
|
||||
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HudDemoViewController.xib; sourceTree = "<group>"; };
|
||||
28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
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; path = Default.png; sourceTree = "<group>"; };
|
||||
D277FDB711FC877E00304321 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
|
||||
D277FDB811FC877E00304321 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = "<group>"; };
|
||||
D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "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>"; };
|
||||
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; };
|
||||
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>"; };
|
||||
D2EEB3801B55967200F59EC1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HudDemo/Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -51,25 +74,41 @@
|
||||
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 */,
|
||||
288765A50DF7441C002DB57D /* CoreGraphics.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 */,
|
||||
D27F18561D3B5DFF009D7482 /* MBHudDemoAppDelegate.h */,
|
||||
D27F18571D3B5DFF009D7482 /* MBHudDemoViewController.h */,
|
||||
D27F18581D3B5DFF009D7482 /* MBHudDemoAppDelegate.m */,
|
||||
D27F18591D3B5DFF009D7482 /* MBHudDemoViewController.m */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
);
|
||||
name = HudDemo;
|
||||
path = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -77,6 +116,8 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* HudDemo.app */,
|
||||
D2B1740F1C5E3A3D00021915 /* HudTests.xctest */,
|
||||
D27F18411D3B5878009D7482 /* HudDemoTV.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -84,9 +125,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 */,
|
||||
);
|
||||
@@ -96,53 +138,93 @@
|
||||
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 */,
|
||||
288765A40DF7441C002DB57D /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D277FDBD11FC879500304321 /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D277FDB711FC877E00304321 /* Icon.png */,
|
||||
D277FDB811FC877E00304321 /* Icon@2x.png */,
|
||||
D277FDB211FC834200304321 /* Default.png */,
|
||||
D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */,
|
||||
D2F88CD5115E9F7F00E6DB82 /* 37x-Checkmark.png */,
|
||||
);
|
||||
name = Images;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D277FDBF11FC880100304321 /* UI */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2899E5210DE3E06400AC0155 /* HudDemoViewController.xib */,
|
||||
28AD733E0D9D9553002E5188 /* 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 = (
|
||||
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 */
|
||||
@@ -163,13 +245,59 @@
|
||||
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 */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0420;
|
||||
CLASSPREFIX = MB;
|
||||
LastUpgradeCheck = 0720;
|
||||
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";
|
||||
@@ -180,12 +308,16 @@
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D6058900D05DD3D006BFB54 /* HudDemo */,
|
||||
D27F18401D3B5878009D7482 /* HudDemoTV */,
|
||||
D2B1740E1C5E3A3D00021915 /* HudTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -195,13 +327,25 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
|
||||
2899E5220DE3E06400AC0155 /* 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 */,
|
||||
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 */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D2B1740D1C5E3A3D00021915 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -212,27 +356,85 @@
|
||||
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 */
|
||||
D27F184C1D3B5878009D7482 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F184D1D3B5878009D7482 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F185F1D3B5E21009D7482 /* Launch.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F18601D3B5E21009D7482 /* en */,
|
||||
);
|
||||
name = Launch.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D27F18611D3B5E21009D7482 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
D27F18621D3B5E21009D7482 /* en */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
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 = 8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = HudDemo;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -240,25 +442,43 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
COPY_PHASE_STRIP = 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 = 8.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
|
||||
PRODUCT_NAME = HudDemo;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = 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 = 5.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
@@ -267,16 +487,148 @@
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = 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 = 5.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;
|
||||
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;
|
||||
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)";
|
||||
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)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -298,6 +650,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 */;
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.8">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
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.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
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>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0730"
|
||||
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">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D27F18401D3B5878009D7482"
|
||||
BuildableName = "HudDemoTV.app"
|
||||
BlueprintName = "HudDemoTV"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D2B1740E1C5E3A3D00021915"
|
||||
BuildableName = "HudTests.xctest"
|
||||
BlueprintName = "HudTests"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "HudDemo.app"
|
||||
BlueprintName = "HudDemo"
|
||||
ReferencedContainer = "container:HudDemo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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>
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"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" : "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"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 460 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 458 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 456 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
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"
|
||||
}
|
||||
}
|
||||
@@ -8,29 +8,53 @@
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIconFiles</key>
|
||||
<array>
|
||||
<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>
|
||||
<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.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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,451 @@
|
||||
//
|
||||
// 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 cancelled 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(indeterminateExample)],
|
||||
[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];
|
||||
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 = [MBProgressHUD HUDForView:self.navigationController.view];
|
||||
// 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
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8191" systemVersion="15A282b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="Fq2-vR-Rsu">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
|
||||
</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="0.0" width="320" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<animations/>
|
||||
</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="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</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>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="9dw-fs-BGe">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
|
||||
</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="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<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="114" width="600" 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="600" height="43"/>
|
||||
<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="0.0" width="320" 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>
|
||||
@@ -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,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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 214 B |
@@ -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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.6 KiB |
@@ -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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 106 B |
@@ -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"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -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"
|
||||
}
|
||||
}
|
||||
|
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"
|
||||
}
|
||||
}
|
||||
|
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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?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>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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]));
|
||||
}
|
||||
}
|
||||
@@ -1,675 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">528</int>
|
||||
<string key="IBDocument.SystemVersion">10J4138</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1306</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.35</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">301</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUIScrollView</string>
|
||||
<string>IBProxyObject</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="843779117">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIScrollView" id="560298147">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="821963304">
|
||||
<reference key="NSNextResponder" ref="560298147"/>
|
||||
<int key="NSvFlags">290</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIButton" id="960472997">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 20}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="626654324"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<object class="NSFont" key="IBUIFont" id="432819284">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Simple indeterminate progress</string>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="434568641">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="612289531">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="626654324">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 68}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="244375631"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">With label</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="244375631">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 116}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="322519489"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUIHighlightedTitle">With details label</string>
|
||||
<string key="IBUIDisabledTitle">With details label</string>
|
||||
<string key="IBUISelectedTitle">With details label</string>
|
||||
<string key="IBUINormalTitle">With details label</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="322519489">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 164}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="424785"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Determinate mode</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="319652209">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 260}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="302056160"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Mode switching</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="302056160">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 308}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="304407605"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Inline (blocks)</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="304407605">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 356}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="295510578"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">On Window</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="295510578">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 404}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="8005370"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">NSURLConnection</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="424785">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 212}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="319652209"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Custom view</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="8005370">
|
||||
<reference key="NSNextResponder" ref="821963304"/>
|
||||
<int key="NSvFlags">294</int>
|
||||
<string key="NSFrame">{{20, 451}, {280, 40}}</string>
|
||||
<reference key="NSSuperview" ref="821963304"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">3</int>
|
||||
<reference key="IBUIFont" ref="432819284"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">With Gradient</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="434568641"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="612289531"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 501}</string>
|
||||
<reference key="NSSuperview" ref="560298147"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="960472997"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC44ODYyNzQ1MDk4IDAuOTA1ODgyMzUyOSAwLjkyOTQxMTc2NDcAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 501}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="821963304"/>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showSimple:</string>
|
||||
<reference key="source" ref="960472997"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabel:</string>
|
||||
<reference key="source" ref="626654324"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithDetailsLabel:</string>
|
||||
<reference key="source" ref="244375631"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabelDeterminate:</string>
|
||||
<reference key="source" ref="322519489"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithLabelMixed:</string>
|
||||
<reference key="source" ref="319652209"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">21</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithCustomView:</string>
|
||||
<reference key="source" ref="424785"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">47</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showUsingBlocks:</string>
|
||||
<reference key="source" ref="302056160"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="560298147"/>
|
||||
</object>
|
||||
<int key="connectionID">70</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showOnWindow:</string>
|
||||
<reference key="source" ref="304407605"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">73</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showURL:</string>
|
||||
<reference key="source" ref="295510578"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">78</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">showWithGradient:</string>
|
||||
<reference key="source" ref="8005370"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">81</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="843779117"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">52</int>
|
||||
<reference key="object" ref="560298147"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="821963304"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">54</int>
|
||||
<reference key="object" ref="821963304"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="244375631"/>
|
||||
<reference ref="322519489"/>
|
||||
<reference ref="319652209"/>
|
||||
<reference ref="424785"/>
|
||||
<reference ref="304407605"/>
|
||||
<reference ref="302056160"/>
|
||||
<reference ref="960472997"/>
|
||||
<reference ref="626654324"/>
|
||||
<reference ref="295510578"/>
|
||||
<reference ref="8005370"/>
|
||||
</object>
|
||||
<reference key="parent" ref="560298147"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">76</int>
|
||||
<reference key="object" ref="295510578"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="626654324"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="960472997"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">49</int>
|
||||
<reference key="object" ref="302056160"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">71</int>
|
||||
<reference key="object" ref="304407605"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">43</int>
|
||||
<reference key="object" ref="424785"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">20</int>
|
||||
<reference key="object" ref="319652209"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="322519489"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="244375631"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">79</int>
|
||||
<reference key="object" ref="8005370"/>
|
||||
<reference key="parent" ref="821963304"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>20.IBPluginDependency</string>
|
||||
<string>43.IBPluginDependency</string>
|
||||
<string>49.IBPluginDependency</string>
|
||||
<string>52.IBEditorWindowLastContentRect</string>
|
||||
<string>52.IBPluginDependency</string>
|
||||
<string>54.IBEditorWindowLastContentRect</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>71.IBPluginDependency</string>
|
||||
<string>76.IBPluginDependency</string>
|
||||
<string>79.IBPluginDependency</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>HudDemoViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{245, 110}, {320, 460}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{217, 96}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">81</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>showOnWindow:</string>
|
||||
<string>showSimple:</string>
|
||||
<string>showURL:</string>
|
||||
<string>showUsingBlocks:</string>
|
||||
<string>showWithCustomView:</string>
|
||||
<string>showWithDetailsLabel:</string>
|
||||
<string>showWithLabel:</string>
|
||||
<string>showWithLabelDeterminate:</string>
|
||||
<string>showWithLabelMixed:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>showOnWindow:</string>
|
||||
<string>showSimple:</string>
|
||||
<string>showURL:</string>
|
||||
<string>showUsingBlocks:</string>
|
||||
<string>showWithCustomView:</string>
|
||||
<string>showWithDetailsLabel:</string>
|
||||
<string>showWithLabel:</string>
|
||||
<string>showWithLabelDeterminate:</string>
|
||||
<string>showWithLabelMixed:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showOnWindow:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showSimple:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showURL:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showUsingBlocks:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithCustomView:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithDetailsLabel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabelDeterminate:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabelMixed:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/HudDemoViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="528" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1024" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">301</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -0,0 +1,361 @@
|
||||
//
|
||||
// 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 MBTestHUDIsHidenAndRemoved(hud, rootView) \
|
||||
do { \
|
||||
XCTAssertFalse([rootView.subviews containsObject:hud], @"The HUD should not be part of the view hierarchy."); \
|
||||
XCTAssertEqual(hud.alpha, 0.f, @"The hud should be faded out."); \
|
||||
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 - Convenience
|
||||
|
||||
- (void)testNonAnimatedConvenienceHUDPresentation {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.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.keyWindow.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.keyWindow.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 - Delay
|
||||
|
||||
- (void)testDelayedHide {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.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);
|
||||
}
|
||||
|
||||
#pragma mark - Ruse
|
||||
|
||||
- (void)testNonAnimatedHudReuse {
|
||||
UIViewController *rootViewController = UIApplication.sharedApplication.keyWindow.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.keyWindow.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.keyWindow.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.keyWindow.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.keyWindow.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.keyWindow.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 - MBProgressHUDDelegate
|
||||
|
||||
- (void)hudWasHidden:(MBProgressHUD *)hud {
|
||||
if (self.hideChecks) self.hideChecks();
|
||||
self.hideChecks = nil;
|
||||
|
||||
[self.hideExpectation fulfill];
|
||||
self.hideExpectation = nil;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -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>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
@@ -1,594 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">528</int>
|
||||
<string key="IBDocument.SystemVersion">10F569</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">788</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.29</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">117</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="427554174">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="664661524">
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIWindow" id="117978783">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC44ODYyNzQ1MDk4IDAuOTA1ODgyMzUyOSAwLjkyOTQxMTc2NDcAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUINavigationController" id="386664917">
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="500961041">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{0, 0}</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIViewController" id="934427715">
|
||||
<string key="IBUITitle">MBProgressHUD</string>
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="390734610">
|
||||
<string key="IBUITitle">MBProgressHUD</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="386664917"/>
|
||||
<string key="IBUINibName">HudDemoViewController</string>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">1</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="664661524"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="117978783"/>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">navController</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="386664917"/>
|
||||
</object>
|
||||
<int key="connectionID">19</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="664661524"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">HudDemo App Delegate</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="427554174"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="117978783"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="386664917"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="934427715"/>
|
||||
<reference ref="500961041"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="934427715"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="390734610"/>
|
||||
</object>
|
||||
<reference key="parent" ref="386664917"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">17</int>
|
||||
<reference key="object" ref="500961041"/>
|
||||
<reference key="parent" ref="386664917"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">18</int>
|
||||
<reference key="object" ref="390734610"/>
|
||||
<reference key="parent" ref="934427715"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>12.IBEditorWindowLastContentRect</string>
|
||||
<string>12.IBPluginDependency</string>
|
||||
<string>15.IBEditorWindowLastContentRect</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>16.CustomClassName</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>17.IBPluginDependency</string>
|
||||
<string>18.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{525, 346}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{150, 451}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>HudDemoViewController</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>HudDemoAppDelegate</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">19</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoAppDelegate</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>navController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UINavigationController</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>navController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">navController</string>
|
||||
<string key="candidateClassName">UINavigationController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">window</string>
|
||||
<string key="candidateClassName">UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/HudDemoAppDelegate.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoAppDelegate</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBUserSource</string>
|
||||
<string key="minorKey"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HudDemoViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>showSimple:</string>
|
||||
<string>showUsingBlocks:</string>
|
||||
<string>showWithCustomView:</string>
|
||||
<string>showWithDetailsLabel:</string>
|
||||
<string>showWithLabel:</string>
|
||||
<string>showWithLabelDeterminate:</string>
|
||||
<string>showWithLabelMixed:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>showSimple:</string>
|
||||
<string>showUsingBlocks:</string>
|
||||
<string>showWithCustomView:</string>
|
||||
<string>showWithDetailsLabel:</string>
|
||||
<string>showWithLabel:</string>
|
||||
<string>showWithLabelDeterminate:</string>
|
||||
<string>showWithLabelMixed:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showSimple:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showUsingBlocks:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithCustomView:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithDetailsLabel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabelDeterminate:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">showWithLabelMixed:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/HudDemoViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="338465221">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIApplication</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIBarButtonItem</string>
|
||||
<string key="superclassName">UIBarItem</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIBarItem</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="288212683">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="950303361">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationItem</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="288212683"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="338465221"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<reference key="sourceIdentifier" ref="950303361"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIWindow</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="528" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1024" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">HudDemo.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">117</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,19 @@
|
||||
Copyright © 2009-2016 Matej Bukovinski
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'MBProgressHUD' target in the 'MBProgressHUD' project
|
||||
//
|
||||
|
||||
#import <Availability.h>
|
||||
|
||||
#ifndef __IPHONE_3_0
|
||||
#warning "This project uses features only available in iOS SDK 3.0 and later."
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
#endif
|
||||
@@ -1,12 +1,12 @@
|
||||
//
|
||||
// MBProgressHUD.h
|
||||
// Version 0.4
|
||||
// Version 1.0.0
|
||||
// Created by Matej Bukovinski on 2.4.09.
|
||||
//
|
||||
|
||||
// This code is distributed under the terms and conditions of the MIT license.
|
||||
|
||||
// Copyright (c) 2011 Matej Bukovinski
|
||||
// Copyright © 2009-2016 Matej Bukovinski
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -26,336 +26,284 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
@class MBBackgroundView;
|
||||
@protocol MBProgressHUDDelegate;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef enum {
|
||||
/** Progress is shown using an UIActivityIndicatorView. This is the default. */
|
||||
extern CGFloat const MBProgressMaxOffset;
|
||||
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
|
||||
/// UIActivityIndicatorView.
|
||||
MBProgressHUDModeIndeterminate,
|
||||
/** Progress is shown using a MBRoundProgressView. */
|
||||
MBProgressHUDModeDeterminate,
|
||||
/** Shows a custom view */
|
||||
MBProgressHUDModeCustomView
|
||||
} MBProgressHUDMode;
|
||||
/// A round, pie-chart like, progress view.
|
||||
MBProgressHUDModeDeterminate,
|
||||
/// Horizontal progress bar.
|
||||
MBProgressHUDModeDeterminateHorizontalBar,
|
||||
/// Ring-shaped progress view.
|
||||
MBProgressHUDModeAnnularDeterminate,
|
||||
/// Shows a custom view.
|
||||
MBProgressHUDModeCustomView,
|
||||
/// Shows only labels.
|
||||
MBProgressHUDModeText
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
/** Opacity animation */
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
|
||||
/// Opacity animation
|
||||
MBProgressHUDAnimationFade,
|
||||
/** Opacity + scale animation */
|
||||
MBProgressHUDAnimationZoom
|
||||
} MBProgressHUDAnimation;
|
||||
/// Opacity + scale animation (zoom in when appearing zoom out when disappearing)
|
||||
MBProgressHUDAnimationZoom,
|
||||
/// Opacity + scale animation (zoom out style)
|
||||
MBProgressHUDAnimationZoomOut,
|
||||
/// Opacity + scale animation (zoom in style)
|
||||
MBProgressHUDAnimationZoomIn
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, MBProgressHUDBackgroundStyle) {
|
||||
/// Solid color background
|
||||
MBProgressHUDBackgroundStyleSolidColor,
|
||||
/// UIVisualEffectView or UIToolbar.layer background view
|
||||
MBProgressHUDBackgroundStyleBlur
|
||||
};
|
||||
|
||||
typedef void (^MBProgressHUDCompletionBlock)();
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Displays a simple HUD window containing a progress indicator and two optional labels for short messages.
|
||||
*
|
||||
* This is a simple drop-in class for displaying a progress HUD view similar to Apples private UIProgressHUD class.
|
||||
* The MBProgressHUD window spans over the entire space given to it by the initWithFrame constructor and catches all
|
||||
* user input on this region, thereby preventing the user operations on components below the view. The HUD itself is
|
||||
* drawn centered as a rounded semi-transparent view witch resizes depending on the user specified content.
|
||||
* This is a simple drop-in class for displaying a progress HUD view similar to Apple's private UIProgressHUD class.
|
||||
* The MBProgressHUD window spans over the entire space given to it by the initWithFrame: constructor and catches all
|
||||
* user input on this region, thereby preventing the user operations on components below the view.
|
||||
*
|
||||
* This view supports three modes of operation:
|
||||
* - MBProgressHUDModeIndeterminate - shows a UIActivityIndicatorView
|
||||
* - MBProgressHUDModeDeterminate - shows a custom round progress indicator (MBRoundProgressView)
|
||||
* - MBProgressHUDModeCustomView - shows an arbitrary, user specified view (@see customView)
|
||||
*
|
||||
* All three modes can have optional labels assigned:
|
||||
* - If the labelText property is set and non-empty then a label containing the provided content is placed below the
|
||||
* indicator view.
|
||||
* - If also the detailsLabelText property is set then another label is placed below the first label.
|
||||
* @note To still allow touches to pass through the HUD, you can set hud.userInteractionEnabled = NO.
|
||||
* @attention MBProgressHUD is a UI class and should therefore only be accessed on the main thread.
|
||||
*/
|
||||
@interface MBProgressHUD : UIView {
|
||||
|
||||
MBProgressHUDMode mode;
|
||||
MBProgressHUDAnimation animationType;
|
||||
|
||||
SEL methodForExecution;
|
||||
id targetForExecution;
|
||||
id objectForExecution;
|
||||
BOOL useAnimation;
|
||||
|
||||
float yOffset;
|
||||
float xOffset;
|
||||
|
||||
float width;
|
||||
float height;
|
||||
|
||||
CGSize minSize;
|
||||
BOOL square;
|
||||
|
||||
float margin;
|
||||
|
||||
BOOL dimBackground;
|
||||
|
||||
BOOL taskInProgress;
|
||||
float graceTime;
|
||||
float minShowTime;
|
||||
NSTimer *graceTimer;
|
||||
NSTimer *minShowTimer;
|
||||
NSDate *showStarted;
|
||||
|
||||
UIView *indicator;
|
||||
UILabel *label;
|
||||
UILabel *detailsLabel;
|
||||
|
||||
float progress;
|
||||
|
||||
#if __has_feature(objc_arc)
|
||||
id<MBProgressHUDDelegate> __weak delegate;
|
||||
#else
|
||||
id<MBProgressHUDDelegate> delegate;
|
||||
#endif
|
||||
NSString *labelText;
|
||||
NSString *detailsLabelText;
|
||||
float opacity;
|
||||
UIFont *labelFont;
|
||||
UIFont *detailsLabelFont;
|
||||
|
||||
BOOL isFinished;
|
||||
BOOL removeFromSuperViewOnHide;
|
||||
|
||||
UIView *customView;
|
||||
|
||||
CGAffineTransform rotationTransform;
|
||||
}
|
||||
@interface MBProgressHUD : UIView
|
||||
|
||||
/**
|
||||
* Creates a new HUD, adds it to provided view and shows it. The counterpart to this method is hideHUDForView:animated:.
|
||||
*
|
||||
*
|
||||
* @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
|
||||
*
|
||||
* @param view The view that the HUD will be added to
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while appearing.
|
||||
* @return A reference to the created HUD.
|
||||
*
|
||||
* @see hideHUDForView:animated:
|
||||
* @see animationType
|
||||
*/
|
||||
+ (MBProgressHUD *)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
|
||||
+ (instancetype)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
|
||||
|
||||
/// @name Showing and hiding
|
||||
|
||||
/**
|
||||
* Finds a HUD subview and hides it. The counterpart to this method is showHUDAddedTo:animated:.
|
||||
* Finds the top-most HUD subview that hasn't finished and hides it. The counterpart to this method is showHUDAddedTo:animated:.
|
||||
*
|
||||
* @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
|
||||
*
|
||||
* @param view The view that is going to be searched for a HUD subview.
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @return YES if a HUD was found and removed, NO otherwise.
|
||||
* @return YES if a HUD was found and removed, NO otherwise.
|
||||
*
|
||||
* @see hideHUDForView:animated:
|
||||
* @see showHUDAddedTo:animated:
|
||||
* @see animationType
|
||||
*/
|
||||
+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* A convenience constructor that initializes the HUD with the window's bounds. Calls the designated constructor with
|
||||
* window.bounds as the parameter.
|
||||
/**
|
||||
* Finds the top-most HUD subview that hasn't finished and returns it.
|
||||
*
|
||||
* @param window The window instance that will provide the bounds for the HUD. Should probably be the same instance as
|
||||
* the HUD's superview (i.e., the window that the HUD will be added to).
|
||||
* @param view The view that is going to be searched.
|
||||
* @return A reference to the last HUD subview discovered.
|
||||
*/
|
||||
- (id)initWithWindow:(UIWindow *)window;
|
||||
+ (nullable MBProgressHUD *)HUDForView:(UIView *)view;
|
||||
|
||||
/**
|
||||
* A convenience constructor that initializes the HUD with the view's bounds. Calls the designated constructor with
|
||||
* view.bounds as the parameter
|
||||
*
|
||||
* @param view The view instance that will provide the bounds for the HUD. Should probably be the same instance as
|
||||
* view.bounds as the parameter.
|
||||
*
|
||||
* @param view The view instance that will provide the bounds for the HUD. Should be the same instance as
|
||||
* the HUD's superview (i.e., the view that the HUD will be added to).
|
||||
*/
|
||||
- (id)initWithView:(UIView *)view;
|
||||
- (instancetype)initWithView:(UIView *)view;
|
||||
|
||||
/**
|
||||
* Displays the HUD.
|
||||
*
|
||||
* @note You need to make sure that the main thread completes its run loop soon after this method call so that
|
||||
* the user interface can be updated. Call this method when your task is already set up to be executed in a new thread
|
||||
* (e.g., when using something like NSOperation or making an asynchronous call like NSURLRequest).
|
||||
*
|
||||
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while appearing.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)showAnimated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* Hides the HUD. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)hideAnimated:(BOOL)animated;
|
||||
|
||||
/**
|
||||
* Hides the HUD after a delay. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @param delay Delay in seconds until the HUD is hidden.
|
||||
*
|
||||
* @see animationType
|
||||
*/
|
||||
- (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay;
|
||||
|
||||
/**
|
||||
* The UIView (i.g., a UIIMageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
|
||||
* For best results use a 37 by 37 pixel view (so the bounds match the build in indicator bounds).
|
||||
* The HUD delegate object. Receives HUD state notifications.
|
||||
*/
|
||||
#if __has_feature(objc_arc)
|
||||
@property (strong) UIView *customView;
|
||||
#else
|
||||
@property (retain) UIView *customView;
|
||||
#endif
|
||||
/**
|
||||
* MBProgressHUD operation mode. Switches between indeterminate (MBProgressHUDModeIndeterminate) and determinate
|
||||
* progress (MBProgressHUDModeDeterminate). The default is MBProgressHUDModeIndeterminate.
|
||||
*
|
||||
* @see MBProgressHUDMode
|
||||
*/
|
||||
@property (assign) MBProgressHUDMode mode;
|
||||
@property (weak, nonatomic) id<MBProgressHUDDelegate> delegate;
|
||||
|
||||
/**
|
||||
* The animation type that should be used when the HUD is shown and hidden.
|
||||
*
|
||||
* @see MBProgressHUDAnimation
|
||||
* Called after the HUD is hiden.
|
||||
*/
|
||||
@property (assign) MBProgressHUDAnimation animationType;
|
||||
|
||||
/**
|
||||
* The HUD delegate object. If set the delegate will receive hudWasHidden callbacks when the HUD was hidden. The
|
||||
* delegate should conform to the MBProgressHUDDelegate protocol and implement the hudWasHidden method. The delegate
|
||||
* object will not be retained.
|
||||
*/
|
||||
#if __has_feature(objc_arc)
|
||||
@property (weak) id<MBProgressHUDDelegate> delegate;
|
||||
#else
|
||||
@property (assign) id<MBProgressHUDDelegate> delegate;
|
||||
#endif
|
||||
/**
|
||||
* An optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
|
||||
* the entire text. If the text is too long it will get clipped by displaying "..." at the end. If left unchanged or
|
||||
* set to @"", then no message is displayed.
|
||||
*/
|
||||
@property (copy) NSString *labelText;
|
||||
|
||||
/**
|
||||
* An optional details message displayed below the labelText message. This message is displayed only if the labelText
|
||||
* property is also set and is different from an empty string (@"").
|
||||
*/
|
||||
@property (copy) NSString *detailsLabelText;
|
||||
|
||||
/**
|
||||
* The opacity of the HUD window. Defaults to 0.9 (90% opacity).
|
||||
*/
|
||||
@property (assign) float opacity;
|
||||
|
||||
/**
|
||||
* The x-axis offset of the HUD relative to the centre of the superview.
|
||||
*/
|
||||
@property (assign) float xOffset;
|
||||
|
||||
/**
|
||||
* The y-ayis offset of the HUD relative to the centre of the superview.
|
||||
*/
|
||||
@property (assign) float yOffset;
|
||||
|
||||
/**
|
||||
* The amounth of space between the HUD edge and the HUD elements (labels, indicators or custom views).
|
||||
*
|
||||
* Defaults to 20.0
|
||||
*/
|
||||
@property (assign) float margin;
|
||||
|
||||
/**
|
||||
* Cover the HUD background view with a radial gradient.
|
||||
*/
|
||||
@property (assign) BOOL dimBackground;
|
||||
@property (copy, nullable) MBProgressHUDCompletionBlock completionBlock;
|
||||
|
||||
/*
|
||||
* Grace period is the time (in seconds) that the invoked method may be run without
|
||||
* showing the HUD. If the task finishes befor the grace time runs out, the HUD will
|
||||
* not be shown at all.
|
||||
* Grace period is the time (in seconds) that the invoked method may be run without
|
||||
* showing the HUD. If the task finishes before the grace time runs out, the HUD will
|
||||
* not be shown at all.
|
||||
* This may be used to prevent HUD display for very short tasks.
|
||||
* Defaults to 0 (no grace time).
|
||||
* Grace time functionality is only supported when the task status is known!
|
||||
* @see taskInProgress
|
||||
*/
|
||||
@property (assign) float graceTime;
|
||||
|
||||
@property (assign, nonatomic) NSTimeInterval graceTime;
|
||||
|
||||
/**
|
||||
* The minimum time (in seconds) that the HUD is shown.
|
||||
* The minimum time (in seconds) that the HUD is shown.
|
||||
* This avoids the problem of the HUD being shown and than instantly hidden.
|
||||
* Defaults to 0 (no minimum show time).
|
||||
*/
|
||||
@property (assign) float minShowTime;
|
||||
@property (assign, nonatomic) NSTimeInterval minShowTime;
|
||||
|
||||
/**
|
||||
* Indicates that the executed operation is in progress. Needed for correct graceTime operation.
|
||||
* If you don't set a graceTime (different than 0.0) this does nothing.
|
||||
* This property is automatically set when using showWhileExecuting:onTarget:withObject:animated:.
|
||||
* When threading is done outside of the HUD (i.e., when the show: and hide: methods are used directly),
|
||||
* you need to set this property when your task starts and completes in order to have normal graceTime
|
||||
* functunality.
|
||||
* Removes the HUD from its parent view when hidden.
|
||||
* Defaults to NO.
|
||||
*/
|
||||
@property (assign) BOOL taskInProgress;
|
||||
@property (assign, nonatomic) BOOL removeFromSuperViewOnHide;
|
||||
|
||||
/// @name Appearance
|
||||
|
||||
/**
|
||||
* MBProgressHUD operation mode. The default is MBProgressHUDModeIndeterminate.
|
||||
*/
|
||||
@property (assign, nonatomic) MBProgressHUDMode mode;
|
||||
|
||||
/**
|
||||
* Removes the HUD from it's parent view when hidden.
|
||||
* Defaults to NO.
|
||||
* A color that gets forwarded to all labels and supported indicators. Also sets the tintColor
|
||||
* for custom views on iOS 7+. Set to nil to manage color individually.
|
||||
* Defaults to semi-translucent black on iOS 7 and later and white on earlier iOS versions.
|
||||
*/
|
||||
@property (assign) BOOL removeFromSuperViewOnHide;
|
||||
|
||||
/**
|
||||
* Font to be used for the main label. Set this property if the default is not adequate.
|
||||
*/
|
||||
#if __has_feature(objc_arc)
|
||||
@property (strong) UIFont* labelFont;
|
||||
#else
|
||||
@property (retain) UIFont* labelFont;
|
||||
#endif
|
||||
/**
|
||||
* Font to be used for the details label. Set this property if the default is not adequate.
|
||||
*/
|
||||
#if __has_feature(objc_arc)
|
||||
@property (strong) UIFont* detailsLabelFont;
|
||||
#else
|
||||
@property (retain) UIFont* detailsLabelFont;
|
||||
#endif
|
||||
/**
|
||||
* The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
|
||||
*/
|
||||
@property (assign) float progress;
|
||||
@property (strong, nonatomic, nullable) UIColor *contentColor UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* The minimum size of the HUD bezel. Defaults to CGSizeZero.
|
||||
* The animation type that should be used when the HUD is shown and hidden.
|
||||
*/
|
||||
@property (assign) CGSize minSize;
|
||||
@property (assign, nonatomic) MBProgressHUDAnimation animationType UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Force the HUD dimensions to be equal if possible.
|
||||
* The bezel offset relative to the center of the view. You can use MBProgressMaxOffset
|
||||
* and -MBProgressMaxOffset to move the HUD all the way to the screen edge in each direction.
|
||||
* E.g., CGPointMake(0.f, MBProgressMaxOffset) would position the HUD centered on the bottom edge.
|
||||
*/
|
||||
@property (assign, getter = isSquare) BOOL square;
|
||||
@property (assign, nonatomic) CGPoint offset UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Display the HUD. You need to make sure that the main thread completes its run loop soon after this method call so
|
||||
* the user interface can be updated. Call this method when your task is already set-up to be executed in a new thread
|
||||
* (e.g., when using something like NSOperation or calling an asynchronous call like NSUrlRequest).
|
||||
*
|
||||
* If you need to perform a blocking thask on the main thread, you can try spining the run loop imeidiately after calling this
|
||||
* method by using:
|
||||
*
|
||||
* [[NSRunLoop currentRunLoop] runUntilDate:[NSDate distantPast]];
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
/**
|
||||
* The amount of space between the HUD edge and the HUD elements (labels, indicators or custom views).
|
||||
* This also represents the minimum bezel distance to the edge of the HUD view.
|
||||
* Defaults to 20.f
|
||||
*/
|
||||
- (void)show:(BOOL)animated;
|
||||
@property (assign, nonatomic) CGFloat margin UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Hide the HUD. This still calls the hudWasHidden delegate. This is the counterpart of the hide: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
/**
|
||||
* The minimum size of the HUD bezel. Defaults to CGSizeZero (no minimum size).
|
||||
*/
|
||||
- (void)hide:(BOOL)animated;
|
||||
@property (assign, nonatomic) CGSize minSize UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Hide the HUD after a delay. This still calls the hudWasHidden delegate. This is the counterpart of the hide: method. Use it to
|
||||
* hide the HUD when your task completes.
|
||||
*
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
* @param delay Delay in secons until the HUD is hidden.
|
||||
/**
|
||||
* Force the HUD dimensions to be equal if possible.
|
||||
*/
|
||||
- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
|
||||
@property (assign, nonatomic, getter = isSquare) BOOL square UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/**
|
||||
* Shows the HUD while a background task is executing in a new thread, then hides the HUD.
|
||||
*
|
||||
* This method also takes care of NSAutoreleasePools so your method does not have to be concerned with setting up a
|
||||
* pool.
|
||||
*
|
||||
* @param method The method to be executed while the HUD is shown. This method will be executed in a new thread.
|
||||
* @param target The object that the target method belongs to.
|
||||
* @param object An optional object to be passed to the method.
|
||||
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
|
||||
* animations while disappearing.
|
||||
/**
|
||||
* When enabled, the bezel center gets slightly affected by the device accelerometer data.
|
||||
* Has no effect on iOS < 7.0. Defaults to YES.
|
||||
*/
|
||||
- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
|
||||
@property (assign, nonatomic, getter=areDefaultMotionEffectsEnabled) BOOL defaultMotionEffectsEnabled UI_APPEARANCE_SELECTOR;
|
||||
|
||||
/// @name Progress
|
||||
|
||||
/**
|
||||
* The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
|
||||
*/
|
||||
@property (assign, nonatomic) float progress;
|
||||
|
||||
/// @name ProgressObject
|
||||
|
||||
/**
|
||||
* The NSProgress object feeding the progress information to the progress indicator.
|
||||
*/
|
||||
@property (strong, nonatomic, nullable) NSProgress *progressObject;
|
||||
|
||||
/// @name Views
|
||||
|
||||
/**
|
||||
* The view containing the labels and indicator (or customView).
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) MBBackgroundView *bezelView;
|
||||
|
||||
/**
|
||||
* View covering the entire HUD area, placed behind bezelView.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) MBBackgroundView *backgroundView;
|
||||
|
||||
/**
|
||||
* The UIView (e.g., a UIImageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
|
||||
* The view should implement intrinsicContentSize for proper sizing. For best results use approximately 37 by 37 pixels.
|
||||
*/
|
||||
@property (strong, nonatomic, nullable) UIView *customView;
|
||||
|
||||
/**
|
||||
* A label that holds an optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
|
||||
* the entire text.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UILabel *label;
|
||||
|
||||
/**
|
||||
* A label that holds an optional details message displayed below the labelText message. The details text can span multiple lines.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UILabel *detailsLabel;
|
||||
|
||||
/**
|
||||
* A button that is placed below the labels. Visible only if a target / action is added.
|
||||
*/
|
||||
@property (strong, nonatomic, readonly) UIButton *button;
|
||||
|
||||
@end
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@protocol MBProgressHUDDelegate <NSObject>
|
||||
|
||||
@@ -366,30 +314,122 @@ typedef enum {
|
||||
*/
|
||||
- (void)hudWasHidden:(MBProgressHUD *)hud;
|
||||
|
||||
/**
|
||||
* @deprecated use hudWasHidden: instead
|
||||
* @see hudWasHidden:
|
||||
*/
|
||||
- (void)hudWasHidden __attribute__ ((deprecated));
|
||||
|
||||
@end
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* A progress view for showing definite progress by filling up a circle (pie chart).
|
||||
*/
|
||||
@interface MBRoundProgressView : UIView {
|
||||
@private
|
||||
float _progress;
|
||||
}
|
||||
@interface MBRoundProgressView : UIView
|
||||
|
||||
/**
|
||||
* Progress (0.0 to 1.0)
|
||||
*/
|
||||
@property (nonatomic, assign) float progress;
|
||||
|
||||
/**
|
||||
* Indicator progress color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressTintColor;
|
||||
|
||||
/**
|
||||
* Indicator background (non-progress) color.
|
||||
* Only applicable on iOS versions older than iOS 7.
|
||||
* Defaults to translucent white (alpha 0.1).
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *backgroundTintColor;
|
||||
|
||||
/*
|
||||
* Display mode - NO = round or YES = annular. Defaults to round.
|
||||
*/
|
||||
@property (nonatomic, assign, getter = isAnnular) BOOL annular;
|
||||
|
||||
@end
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* A flat bar progress view.
|
||||
*/
|
||||
@interface MBBarProgressView : UIView
|
||||
|
||||
/**
|
||||
* Progress (0.0 to 1.0)
|
||||
*/
|
||||
@property (nonatomic, assign) float progress;
|
||||
|
||||
/**
|
||||
* Bar border line color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *lineColor;
|
||||
|
||||
/**
|
||||
* Bar background color.
|
||||
* Defaults to clear [UIColor clearColor];
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressRemainingColor;
|
||||
|
||||
/**
|
||||
* Bar progress color.
|
||||
* Defaults to white [UIColor whiteColor].
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *progressColor;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface MBBackgroundView : UIView
|
||||
|
||||
/**
|
||||
* The background style.
|
||||
* Defaults to MBProgressHUDBackgroundStyleBlur on iOS 7 or later and MBProgressHUDBackgroundStyleSolidColor otherwise.
|
||||
* @note Due to iOS 7 not supporting UIVisualEffectView, the blur effect differs slightly between iOS 7 and later versions.
|
||||
*/
|
||||
@property (nonatomic) MBProgressHUDBackgroundStyle style;
|
||||
|
||||
/**
|
||||
* The background color or the blur tint color.
|
||||
* @note Due to iOS 7 not supporting UIVisualEffectView, the blur effect differs slightly between iOS 7 and later versions.
|
||||
*/
|
||||
@property (nonatomic, strong) UIColor *color;
|
||||
|
||||
@end
|
||||
|
||||
@interface MBProgressHUD (Deprecated)
|
||||
|
||||
+ (NSArray *)allHUDsForView:(UIView *)view __attribute__((deprecated("Store references when using more than one HUD per view.")));
|
||||
+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated __attribute__((deprecated("Store references when using more than one HUD per view.")));
|
||||
|
||||
- (id)initWithWindow:(UIWindow *)window __attribute__((deprecated("Use initWithView: instead.")));
|
||||
|
||||
- (void)show:(BOOL)animated __attribute__((deprecated("Use showAnimated: instead.")));
|
||||
- (void)hide:(BOOL)animated __attribute__((deprecated("Use hideAnimated: instead.")));
|
||||
- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay __attribute__((deprecated("Use hideAnimated:afterDelay: instead.")));
|
||||
|
||||
- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated __attribute__((deprecated("Use GCD directly.")));
|
||||
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block __attribute__((deprecated("Use GCD directly.")));
|
||||
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(nullable MBProgressHUDCompletionBlock)completion __attribute__((deprecated("Use GCD directly.")));
|
||||
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue __attribute__((deprecated("Use GCD directly.")));
|
||||
- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
|
||||
completionBlock:(nullable MBProgressHUDCompletionBlock)completion __attribute__((deprecated("Use GCD directly.")));
|
||||
@property (assign) BOOL taskInProgress __attribute__((deprecated("No longer needed.")));
|
||||
|
||||
@property (nonatomic, copy) NSString *labelText __attribute__((deprecated("Use label.text instead.")));
|
||||
@property (nonatomic, strong) UIFont *labelFont __attribute__((deprecated("Use label.font instead.")));
|
||||
@property (nonatomic, strong) UIColor *labelColor __attribute__((deprecated("Use label.textColor instead.")));
|
||||
@property (nonatomic, copy) NSString *detailsLabelText __attribute__((deprecated("Use detailsLabel.text instead.")));
|
||||
@property (nonatomic, strong) UIFont *detailsLabelFont __attribute__((deprecated("Use detailsLabel.font instead.")));
|
||||
@property (nonatomic, strong) UIColor *detailsLabelColor __attribute__((deprecated("Use detailsLabel.textColor instead.")));
|
||||
@property (assign, nonatomic) CGFloat opacity __attribute__((deprecated("Customize bezelView properties instead.")));
|
||||
@property (strong, nonatomic) UIColor *color __attribute__((deprecated("Customize the bezelView color instead.")));
|
||||
@property (assign, nonatomic) CGFloat xOffset __attribute__((deprecated("Set offset.x instead.")));
|
||||
@property (assign, nonatomic) CGFloat yOffset __attribute__((deprecated("Set offset.y instead.")));
|
||||
@property (assign, nonatomic) CGFloat cornerRadius __attribute__((deprecated("Set bezelView.layer.cornerRadius instead.")));
|
||||
@property (assign, nonatomic) BOOL dimBackground __attribute__((deprecated("Customize HUD background properties instead.")));
|
||||
@property (strong, nonatomic) UIColor *activityIndicatorColor __attribute__((deprecated("Use UIAppearance to customize UIActivityIndicatorView. E.g.: [UIActivityIndicatorView appearanceWhenContainedIn:[MBProgressHUD class], nil].color = [UIColor redColor];")));
|
||||
@property (atomic, assign, readonly) CGSize size __attribute__((deprecated("Get the bezelView.frame.size instead.")));
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "MBProgressHUD"
|
||||
s.version = "1.0.0"
|
||||
s.summary = "An iOS activity indicator view."
|
||||
s.description = <<-DESC
|
||||
MBProgressHUD is an iOS drop-in class that displays a translucent HUD
|
||||
with an indicator and/or labels while work is being done in a background thread.
|
||||
The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD
|
||||
with some additional features.
|
||||
DESC
|
||||
s.homepage = "http://www.bukovinski.com"
|
||||
s.license = { :type => 'MIT', :file => 'LICENSE' }
|
||||
s.author = { 'Matej Bukovinski' => 'matej@bukovinski.com' }
|
||||
s.source = { :git => "https://github.com/matej/MBProgressHUD.git", :tag => s.version.to_s }
|
||||
s.ios.deployment_target = '6.0'
|
||||
s.tvos.deployment_target = '9.0'
|
||||
s.source_files = '*.{h,m}'
|
||||
s.frameworks = "CoreGraphics", "QuartzCore"
|
||||
s.requires_arc = true
|
||||
end
|
||||
@@ -0,0 +1,419 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; };
|
||||
1D104D931ACA371400973364 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; };
|
||||
1D104D941ACA373100973364 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D286A74D1518C70F00E13FB8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A74C1518C70F00E13FB8 /* Foundation.framework */; };
|
||||
D286A7531518C70F00E13FB8 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; };
|
||||
D286A75E1518C89600E13FB8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A75D1518C89600E13FB8 /* UIKit.framework */; };
|
||||
D286A76F1518CAAD00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
1315DD7517804C970032507D /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "include/${PRODUCT_NAME}";
|
||||
dstSubfolderSpec = 16;
|
||||
files = (
|
||||
1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1315DD73178045000032507D /* MBProgressHUD-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD-Prefix.pch"; sourceTree = SOURCE_ROOT; };
|
||||
1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MBProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D104D951ACA376200973364 /* Framework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Framework-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMBProgressHUD.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D286A74C1518C70F00E13FB8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
D286A7511518C70F00E13FB8 /* MBProgressHUD.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = SOURCE_ROOT; };
|
||||
D286A7521518C70F00E13FB8 /* MBProgressHUD.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = SOURCE_ROOT; };
|
||||
D286A75D1518C89600E13FB8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1D104D761ACA36CC00973364 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D286A7461518C70F00E13FB8 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D286A75E1518C89600E13FB8 /* UIKit.framework in Frameworks */,
|
||||
D286A74D1518C70F00E13FB8 /* Foundation.framework in Frameworks */,
|
||||
D286A76F1518CAAD00E13FB8 /* CoreGraphics.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1315DD72178044770032507D /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D104D951ACA376200973364 /* Framework-Info.plist */,
|
||||
1315DD73178045000032507D /* MBProgressHUD-Prefix.pch */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A73E1518C70E00E13FB8 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A74E1518C70F00E13FB8 /* MBProgressHUD */,
|
||||
D286A74B1518C70F00E13FB8 /* Frameworks */,
|
||||
D286A74A1518C70F00E13FB8 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74A1518C70F00E13FB8 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */,
|
||||
1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74B1518C70F00E13FB8 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A75D1518C89600E13FB8 /* UIKit.framework */,
|
||||
D286A74C1518C70F00E13FB8 /* Foundation.framework */,
|
||||
D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D286A74E1518C70F00E13FB8 /* MBProgressHUD */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D286A7511518C70F00E13FB8 /* MBProgressHUD.h */,
|
||||
D286A7521518C70F00E13FB8 /* MBProgressHUD.m */,
|
||||
1315DD72178044770032507D /* Supporting Files */,
|
||||
);
|
||||
path = MBProgressHUD;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
1D104D771ACA36CC00973364 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D104D941ACA373100973364 /* MBProgressHUD.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D104D791ACA36CC00973364 /* MBProgressHUD Framework */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D104D8D1ACA36CC00973364 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework" */;
|
||||
buildPhases = (
|
||||
1D104D751ACA36CC00973364 /* Sources */,
|
||||
1D104D761ACA36CC00973364 /* Frameworks */,
|
||||
1D104D771ACA36CC00973364 /* Headers */,
|
||||
1D104D781ACA36CC00973364 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MBProgressHUD Framework";
|
||||
productName = "MBProgressHUD Framework";
|
||||
productReference = 1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
D286A7481518C70F00E13FB8 /* MBProgressHUD Static Library */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD Static Library" */;
|
||||
buildPhases = (
|
||||
D286A7451518C70F00E13FB8 /* Sources */,
|
||||
D286A7461518C70F00E13FB8 /* Frameworks */,
|
||||
1315DD7517804C970032507D /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "MBProgressHUD Static Library";
|
||||
productName = MBProgressHUD;
|
||||
productReference = D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D286A7401518C70E00E13FB8 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = MB;
|
||||
LastUpgradeCheck = 0700;
|
||||
ORGANIZATIONNAME = "Matej Bukovinski";
|
||||
TargetAttributes = {
|
||||
1D104D791ACA36CC00973364 = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = D286A73E1518C70E00E13FB8;
|
||||
productRefGroup = D286A74A1518C70F00E13FB8 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
D286A7481518C70F00E13FB8 /* MBProgressHUD Static Library */,
|
||||
1D104D791ACA36CC00973364 /* MBProgressHUD Framework */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1D104D781ACA36CC00973364 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D104D751ACA36CC00973364 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D104D931ACA371400973364 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D286A7451518C70F00E13FB8 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D286A7531518C70F00E13FB8 /* MBProgressHUD.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D104D8E1ACA36CC00973364 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.matej.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D104D8F1ACA36CC00973364 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
INFOPLIST_FILE = "Framework-Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.2;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.matej.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D286A7541518C70F00E13FB8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
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 = 6.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D286A7551518C70F00E13FB8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
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 = 6.0;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D286A7571518C70F00E13FB8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DSTROOT = /tmp/MBProgressHUD.dst;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D286A7581518C70F00E13FB8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DSTROOT = /tmp/MBProgressHUD.dst;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = MBProgressHUD;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D104D8D1ACA36CC00973364 /* Build configuration list for PBXNativeTarget "MBProgressHUD Framework" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D104D8E1ACA36CC00973364 /* Debug */,
|
||||
1D104D8F1ACA36CC00973364 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D286A7541518C70F00E13FB8 /* Debug */,
|
||||
D286A7551518C70F00E13FB8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD Static Library" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D286A7571518C70F00E13FB8 /* Debug */,
|
||||
D286A7581518C70F00E13FB8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = D286A7401518C70E00E13FB8 /* Project object */;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:MBProgressHUD.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D104D791ACA36CC00973364"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D104D791ACA36CC00973364"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D104D791ACA36CC00973364"
|
||||
BuildableName = "MBProgressHUD.framework"
|
||||
BlueprintName = "MBProgressHUD Framework"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D286A7481518C70F00E13FB8"
|
||||
BuildableName = "libMBProgressHUD.a"
|
||||
BlueprintName = "MBProgressHUD Static Library"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D286A7481518C70F00E13FB8"
|
||||
BuildableName = "libMBProgressHUD.a"
|
||||
BlueprintName = "MBProgressHUD Static Library"
|
||||
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:MBProgressHUD.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Demo/HudDemo.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:README.mdown">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:LICENSE">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MBProgressHUD.podspec">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -1,97 +1,126 @@
|
||||
MBProgressHUD
|
||||
=============
|
||||
# MBProgressHUD
|
||||
|
||||
MBProgressHUD is an iPhone drop-in class that displays a translucent HUD with a progress indicator and some optional labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD with some additional features.
|
||||
[](https://travis-ci.org/matej/MBProgressHUD) [](https://codecov.io/github/matej/MBProgressHUD?branch=master)
|
||||
[](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) [](https://cocoapods.org/pods/MBProgressHUD) [](http://opensource.org/licenses/MIT)
|
||||
|
||||
MBProgressHUD is iOS4 and iPad compatible and released under the MIT license (see MBProgressHUD.h).
|
||||
`MBProgressHUD` is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private `UIKit` `UIProgressHUD` with some additional features.
|
||||
|
||||
[](http://dl.dropbox.com/u/378729/MBProgressHUD/1.png)
|
||||
[](http://dl.dropbox.com/u/378729/MBProgressHUD/2.png)
|
||||
[](http://dl.dropbox.com/u/378729/MBProgressHUD/3.png)
|
||||
[](http://dl.dropbox.com/u/378729/MBProgressHUD/4.png)
|
||||
[](http://dl.dropbox.com/u/378729/MBProgressHUD/5.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737572/94a137a6-477f-11e7-9778-6266006f2dba.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737575/95178c6c-477f-11e7-8df9-03aeeca5d39d.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737578/95235920-477f-11e7-9968-9ecf506aba06.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737573/95048432-477f-11e7-8f1d-4d5736b10488.)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737580/954aff70-477f-11e7-9634-5802daea2dee.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737582/9552886c-477f-11e7-8e90-46acd9a8527c.png)
|
||||
[](https://cloud.githubusercontent.com/assets/91322/26737584/956392f6-477f-11e7-918f-717a42758156.png)
|
||||
|
||||
Adding MBProgressHUD to your project
|
||||
====================================
|
||||
**NOTE:** The class has recently undegone a major rewrite. The old version is available in the [legacy](https://github.com/jdg/MBProgressHUD/tree/legacy) branch, should you need it.
|
||||
|
||||
The simplest way to add the MBProgressHUD to your project is to directly add the `MBProgressHUD.h` and `MBProgressHUD.m` source files to your project.
|
||||
## Requirements
|
||||
|
||||
1. Download the latest code version from the repository (you can simply use the Download Source button and get the zip or tar archive of the master branch).
|
||||
2. Extract the archive.
|
||||
3. Open your project in Xcode, than drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` to your classes group (in the Groups & Files view).
|
||||
4. Make sure to select Copy items when asked.
|
||||
`MBProgressHUD` works on iOS 6+ and requires ARC to build. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
|
||||
|
||||
If you have a git tracked project, you can add MBProgressHUD as a submodule to your project.
|
||||
* Foundation.framework
|
||||
* UIKit.framework
|
||||
* CoreGraphics.framework
|
||||
|
||||
1. Move inside your git tracked project.
|
||||
2. Add MBProgressHUD as a submodule using `git submodule add git://github.com/matej/MBProgressHUD.git MBProgressHUD` .
|
||||
3. Open your project in Xcode, than drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` to your classes group (in the Groups & Files view).
|
||||
4. Don't select Copy items and select a suitable Reference type (relative to project should work fine most of the time).
|
||||
You will need the latest developer tools in order to build `MBProgressHUD`. Old Xcode versions might work, but compatibility will not be explicitly maintained.
|
||||
|
||||
Usage
|
||||
=====
|
||||
## Adding MBProgressHUD to your project
|
||||
|
||||
Extensive documentation is provided in the header file (MBProgressHUD.h). In additiona a full Xcode demo project is included in the Demo directory.
|
||||
### CocoaPods
|
||||
|
||||
License
|
||||
=======
|
||||
[CocoaPods](http://cocoapods.org) is the recommended way to add MBProgressHUD to your project.
|
||||
|
||||
This code is distributed under the terms and conditions of the MIT license.
|
||||
1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 1.0.0'`
|
||||
2. Install the pod(s) by running `pod install`.
|
||||
3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
|
||||
|
||||
Copyright (c) 2011 Matej Bukovinski
|
||||
### Carthage
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
1. Add MBProgressHUD to your Cartfile. e.g., `github "jdg/MBProgressHUD" ~> 1.0.0`
|
||||
2. Run `carthage update`
|
||||
3. Follow the rest of the [standard Carthage installation instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add MBProgressHUD to your project.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
### Source files
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Alternatively you can directly add the `MBProgressHUD.h` and `MBProgressHUD.m` source files to your project.
|
||||
|
||||
1. Download the [latest code version](https://github.com/matej/MBProgressHUD/archive/master.zip) or add the repository as a git submodule to your git-tracked project.
|
||||
2. Open your project in Xcode, then drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` onto your project (use the "Product Navigator view"). Make sure to select Copy items when asked if you extracted the code archive outside of your project.
|
||||
3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
|
||||
|
||||
### Static library
|
||||
|
||||
You can also add MBProgressHUD as a static library to your project or workspace.
|
||||
|
||||
1. Download the [latest code version](https://github.com/matej/MBProgressHUD/downloads) or add the repository as a git submodule to your git-tracked project.
|
||||
2. Open your project in Xcode, then drag and drop `MBProgressHUD.xcodeproj` onto your project or workspace (use the "Product Navigator view").
|
||||
3. Select your target and go to the Build phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add `libMBProgressHUD.a`. You might also need to add `MBProgressHUD` to the Target Dependencies list.
|
||||
4. Include MBProgressHUD wherever you need it with `#import <MBProgressHUD/MBProgressHUD.h>`.
|
||||
|
||||
## Usage
|
||||
|
||||
The main guideline you need to follow when dealing with MBProgressHUD while running long-running tasks is keeping the main thread work-free, so the UI can be updated promptly. The recommended way of using MBProgressHUD is therefore to set it up on the main thread and then spinning the task, that you want to perform, off onto a new thread.
|
||||
|
||||
```objective-c
|
||||
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
|
||||
// Do something...
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[MBProgressHUD hideHUDForView:self.view animated:YES];
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
You can add the HUD on any view or window. It is however a good idea to avoid adding the HUD to certain `UIKit` views with complex view hierarchies - like `UITableView` or `UICollectionView`. Those can mutate their subviews in unexpected ways and thereby break HUD display.
|
||||
|
||||
If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns.
|
||||
|
||||
```objective-c
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
hud.mode = MBProgressHUDModeAnnularDeterminate;
|
||||
hud.labelText = @"Loading";
|
||||
[self doSomethingInBackgroundWithProgressCallback:^(float progress) {
|
||||
hud.progress = progress;
|
||||
} completionCallback:^{
|
||||
[hud hide:YES];
|
||||
}];
|
||||
```
|
||||
|
||||
You can also use a `NSProgress` object and MBProgressHUD will update itself when there is progress reported through that object.
|
||||
|
||||
```objective-c
|
||||
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
hud.mode = MBProgressHUDModeAnnularDeterminate;
|
||||
hud.labelText = @"Loading";
|
||||
NSProgress *progress = [self doSomethingInBackgroundCompletion:^{
|
||||
[hud hide:YES];
|
||||
}];
|
||||
hud.progressObject = progress;
|
||||
```
|
||||
|
||||
UI updates should always be done on the main thread. Some MBProgressHUD setters are however considered "thread safe" and can be called from background threads. Those also include `setMode:`, `setCustomView:`, `setLabelText:`, `setLabelFont:`, `setDetailsLabelText:`, `setDetailsLabelFont:` and `setProgress:`.
|
||||
|
||||
If you need to run your long-running task in the main thread, you should perform it with a slight delay, so UIKit will have enough time to update the UI (i.e., draw the HUD) before you block the main thread with your task.
|
||||
|
||||
```objective-c
|
||||
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
|
||||
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC);
|
||||
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
|
||||
// Do something...
|
||||
[MBProgressHUD hideHUDForView:self.view animated:YES];
|
||||
});
|
||||
```
|
||||
|
||||
You should be aware that any HUD updates issued inside the above block won't be displayed until the block completes.
|
||||
|
||||
For more examples, including how to use MBProgressHUD with asynchronous operations such as NSURLConnection, take a look at the bundled demo project. Extensive API documentation is provided in the header file (MBProgressHUD.h).
|
||||
|
||||
|
||||
Change-log
|
||||
==========
|
||||
## License
|
||||
|
||||
**Version 0.41** @ 03.01.12
|
||||
This code is distributed under the terms and conditions of the [MIT license](LICENSE).
|
||||
|
||||
- Support for ARC.
|
||||
## Change-log
|
||||
|
||||
**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 bugfixes.
|
||||
|
||||
**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.
|
||||
A brief summary of each MBProgressHUD release can be found in the [CHANGELOG](CHANGELOG.mdown).
|
||||
|
||||