48 Commits

Author SHA1 Message Date
Matej Bukovinski c6311feb43 Merge pull request #323 from aral/carthage-readme-update
Updated readme to add installation instructions for Carthage.
2015-12-22 14:16:01 +01:00
Aral Balkan fbb5141587 Updated the readme to add installation instructions and badge for Carthage support. Also added badges for Cocoapods support and the license. 2015-12-22 12:58:05 +00:00
Matej Bukovinski 3bc170a91d Version bump. 2015-12-22 08:35:33 +01:00
Matej Bukovinski 93c6958242 Touched by Xcode. 2015-12-22 08:34:36 +01:00
Matej Bukovinski 2fbcbae6a2 Merge pull request #319 from valeriyvan/patch-1
Typo fixed.
2015-12-14 10:29:11 +01:00
Valeriy Van 2a2f1598e8 Typo fixed. 2015-12-12 17:18:19 +02:00
Matej Bukovinski 690dd7614b Merge pull request #316 from rokgregoric/master
ActivityIndicatorColor should change progressTintColor for modes Dete…
2015-11-30 19:59:57 +01:00
Rok Gregorič 9204c36a37 ActivityIndicatorColor should change progressTintColor for modes Determinate and AnnularDeterminate. 2015-11-27 15:23:11 +01:00
Matej Bukovinski 1fdda7fb51 Merge pull request #311 from rounak/patch-1
fix typo
2015-11-11 08:36:24 +01:00
Rounak 5b2fb4a8e8 fix typo 2015-11-10 16:15:42 -08:00
Matej Bukovinski f089d2a035 Merge pull request #306 from kambala-decapitator/master
fix compilation for tvOS
2015-10-26 07:39:25 +01:00
Andrey Filipenkov 68b3c7480d fix compilation for tvOS 2015-10-22 15:33:46 +02:00
Matej Bukovinski cada260e74 Merge pull request #304 from tomco/master
Add Carthage support
2015-09-19 22:28:51 +02:00
Tobias Ottenweller 019cae8314 marked framework scheme as shared. 2015-09-19 12:50:17 +02:00
Matej Bukovinski 43b1ff26eb Merge pull request #272 from locarise/master
Added a framework target
2015-09-08 10:42:12 +02:00
Matej Bukovinski 77828226b2 Added main thread assertions. 2015-06-27 14:15:48 +02:00
Matej Bukovinski b1564fd8d6 Schedule the grace timer in NSRunLoopCommonModes. 2015-06-27 13:59:04 +02:00
Matej Bukovinski f0c6d4dadb Added documentation & formatting. 2015-06-27 13:40:19 +02:00
Matej Bukovinski 501abeaaf3 Merge pull request #274 from MPieter/master
Resolution optimisation of demo application for iPhone 6 / 6+
2015-04-18 19:34:27 +02:00
Matej Bukovinski e73ea408b3 Performed project modernization. 2015-04-18 19:33:47 +02:00
Pieter Meiresone 1a541aedcd Resolution optimisation of demo application for iPhone 6 / 6+ 2015-04-18 18:36:49 +02:00
Fjölnir Ásgeirsson 1f70b49ff6 Enabled "no common blocks" warning 2015-04-13 11:24:08 +09:00
Fjölnir Ásgeirsson 81851db6a6 Added framework target 2015-03-31 11:08:06 +09:00
Matej Bukovinski ac7a7a8c5e Version bump to 0.9.1. 2015-03-06 08:58:12 +01:00
Matej Bukovinski 61addd2405 Cancel any scheduled hideDelayed: calls. 2015-03-06 08:50:42 +01:00
Alsey Coleman Miller cca92d1156 updated enum to NS_ENUM
Better practice and Swift support
2015-03-06 08:29:16 +01:00
Matej Bukovinski 5603383161 Merge branch 'tests' 2015-03-06 08:14:52 +01:00
Matej Bukovinski fceb09cc8b Merge branch 'master' of github.com:jdg/MBProgressHUD 2015-03-06 07:47:39 +01:00
Matej Bukovinski dc534dcb31 Alternative solution for the orientation discrepancy between iOS 7 and iOS 8.
Also avoid sharedApplication usage on iOS 8+ targets.
2015-03-06 07:46:57 +01:00
Matej Bukovinski ab71afed92 Added a note regarding developer tools 2015-03-06 07:28:35 +01:00
Matej Bukovinski a9f8fe88eb Update README.mdown
Switched back to the official build indicator (now in vector form).
2015-02-08 15:29:12 +01:00
Matej Bukovinski 5612808fb1 Update README.mdown
Higher quality build shield.
2015-02-08 15:27:17 +01:00
Matej Bukovinski fe388ef956 Removed a nonexistent test target from the test scheme. 2015-02-08 15:22:52 +01:00
Matej Bukovinski f6689c1c26 Added a sample test. 2015-02-08 15:16:17 +01:00
Matej Bukovinski 69c58ea278 Don't compare apples and oranges. 2015-02-05 08:20:07 +01:00
Matej Bukovinski 6033a0b1ad Fix color inconsistencies. 2015-02-05 07:59:15 +01:00
Matej Bukovinski 3ac3f787eb Merge branch 'master' of github.com:jdg/MBProgressHUD 2014-12-22 18:52:41 +01:00
Matej Bukovinski f75901d9b0 Merge pull request #61 from bcylin/master
Update outdated .travis.yml
2014-12-22 18:30:11 +01:00
Ben fddc5dbcdf Update .travis.yml 2014-12-23 01:10:07 +08:00
Jonathan George 28c44be413 Bring back inline with MateJ's fork 2014-11-03 07:54:28 -06:00
Jonathan George c938b0f0f7 Bump to v1.0, prep for release 2014-11-03 07:48:21 -06:00
Jonathan George 23023d7983 Release 0.10 with iOS8 support 2014-11-03 07:46:33 -06:00
Jonathan George f316d247ae Merge pull request #243 from epacces/fix/ios8/hudorientation
Fix/ios8/hudorientation
2014-11-03 07:42:04 -06:00
Eriprando Pacces f4aaad3906 Fixes issue #233
last and hopefully :) working attempt
2014-09-30 02:07:26 +01:00
Eriprando Pacces 2f44900d0d [BUG][iOS8]
- Fixes the incorrect HUD orientation on applications linked against an SDK < 8.0 running on iOS 8.x
Issue #233
2014-09-22 21:31:37 +01:00
Matej Bukovinski fc1903ff44 Basic iPad support for the demo. 2014-08-18 18:15:57 +02:00
Matej Bukovinski 2216078a1a Merge pull request #225 from Zyphrax/master
Set removeFromSuperViewOnHide to YES for convenience methods
2014-08-18 18:03:46 +02:00
Yvo van Beek cb56321f40 Set removeFromSuperViewOnHide to YES for convenience methods 2014-08-18 21:35:11 +10:00
16 changed files with 672 additions and 98 deletions
+4 -1
View File
@@ -1 +1,4 @@
language: objective-c
language: objective-c
xcode_workspace: MBProgressHUD.xcworkspace
xcode_scheme: HudDemo
xcode_sdk: iphonesimulator
+192 -8
View File
@@ -26,10 +26,22 @@
D286A7321518C53500E13FB8 /* HudDemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D286A7341518C53500E13FB8 /* HudDemoViewController.xib */; };
D286A7361518C53C00E13FB8 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = D286A7381518C53C00E13FB8 /* MainWindow.xib */; };
D286A76D1518CA9F00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */; };
D28CBB321A87A45A0052DCEC /* HudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D28CBB311A87A45A0052DCEC /* HudTests.m */; };
D28CBB381A87A4A10052DCEC /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D22F7D800F85241C00550BB3 /* MBProgressHUD.m */; };
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 */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
D28CBB331A87A45A0052DCEC /* 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>"; };
@@ -48,7 +60,7 @@
D22568E61780AA77008D5939 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "Images/Icon-Small.png"; sourceTree = "<group>"; };
D22568E71780AA77008D5939 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small@2x.png"; path = "Images/Icon-Small@2x.png"; sourceTree = "<group>"; };
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>"; };
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MBProgressHUD.m; path = ../MBProgressHUD.m; sourceTree = "<group>"; };
D277FDB211FC834200304321 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = Images/Default.png; sourceTree = "<group>"; };
D277FDB711FC877E00304321 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = Images/Icon.png; sourceTree = "<group>"; };
D277FDB811FC877E00304321 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "Images/Icon@2x.png"; sourceTree = "<group>"; };
@@ -56,6 +68,9 @@
D286A7331518C53500E13FB8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/HudDemoViewController.xib; sourceTree = "<group>"; };
D286A7371518C53C00E13FB8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
D286A76C1518CA9F00E13FB8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
D28CBB2D1A87A45A0052DCEC /* HudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
D28CBB301A87A45A0052DCEC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D28CBB311A87A45A0052DCEC /* HudTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HudTests.m; sourceTree = "<group>"; };
D2A6FD1C13ABC5A200BFE4C9 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default@2x.png"; path = "Images/Default@2x.png"; sourceTree = "<group>"; };
D2F88CD5115E9F7F00E6DB82 /* 37x-Checkmark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "37x-Checkmark.png"; path = "Images/37x-Checkmark.png"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -71,19 +86,27 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
D28CBB2A1A87A45A0052DCEC /* 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 */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
);
name = HudDemo;
path = Classes;
sourceTree = "<group>";
};
@@ -91,6 +114,7 @@
isa = PBXGroup;
children = (
1D6058910D05DD3D006BFB54 /* HudDemo.app */,
D28CBB2D1A87A45A0052DCEC /* HudTests.xctest */,
);
name = Products;
sourceTree = "<group>";
@@ -98,9 +122,9 @@
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
080E96DDFE201D6D7F000001 /* HudDemo */,
D28CBB2E1A87A45A0052DCEC /* HudTests */,
D28CBB391A87A6B00052DCEC /* MBProgressHUD */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
@@ -114,6 +138,7 @@
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
path = ..;
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
@@ -124,6 +149,7 @@
8D1107310486CEB800E47090 /* Info.plist */,
);
name = Resources;
path = ..;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
@@ -164,6 +190,32 @@
name = UI;
sourceTree = "<group>";
};
D28CBB2E1A87A45A0052DCEC /* HudTests */ = {
isa = PBXGroup;
children = (
D28CBB311A87A45A0052DCEC /* HudTests.m */,
D28CBB2F1A87A45A0052DCEC /* Supporting Files */,
);
path = HudTests;
sourceTree = "<group>";
};
D28CBB2F1A87A45A0052DCEC /* Supporting Files */ = {
isa = PBXGroup;
children = (
D28CBB301A87A45A0052DCEC /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
D28CBB391A87A6B00052DCEC /* MBProgressHUD */ = {
isa = PBXGroup;
children = (
D22F7D7F0F85241C00550BB3 /* MBProgressHUD.h */,
D22F7D800F85241C00550BB3 /* MBProgressHUD.m */,
);
name = MBProgressHUD;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -184,6 +236,24 @@
productReference = 1D6058910D05DD3D006BFB54 /* HudDemo.app */;
productType = "com.apple.product-type.application";
};
D28CBB2C1A87A45A0052DCEC /* HudTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = D28CBB351A87A45A0052DCEC /* Build configuration list for PBXNativeTarget "HudTests" */;
buildPhases = (
D28CBB291A87A45A0052DCEC /* Sources */,
D28CBB2A1A87A45A0052DCEC /* Frameworks */,
D28CBB2B1A87A45A0052DCEC /* Resources */,
);
buildRules = (
);
dependencies = (
D28CBB341A87A45A0052DCEC /* PBXTargetDependency */,
);
name = HudTests;
productName = HudTests;
productReference = D28CBB2D1A87A45A0052DCEC /* HudTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -191,8 +261,14 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MB;
LastUpgradeCheck = 0600;
LastUpgradeCheck = 0720;
ORGANIZATIONNAME = "Matej Bukovinski";
TargetAttributes = {
D28CBB2C1A87A45A0052DCEC = {
CreatedOnToolsVersion = 6.1.1;
TestTargetID = 1D6058900D05DD3D006BFB54;
};
};
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "HudDemo" */;
compatibilityVersion = "Xcode 3.2";
@@ -209,6 +285,7 @@
projectRoot = "";
targets = (
1D6058900D05DD3D006BFB54 /* HudDemo */,
D28CBB2C1A87A45A0052DCEC /* HudTests */,
);
};
/* End PBXProject section */
@@ -235,6 +312,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
D28CBB2B1A87A45A0052DCEC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -249,8 +333,25 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
D28CBB291A87A45A0052DCEC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D28CBB321A87A45A0052DCEC /* HudTests.m in Sources */,
D28CBB381A87A4A10052DCEC /* MBProgressHUD.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
D28CBB341A87A45A0052DCEC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 1D6058900D05DD3D006BFB54 /* HudDemo */;
targetProxy = D28CBB331A87A45A0052DCEC /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
D286A7341518C53500E13FB8 /* HudDemoViewController.xib */ = {
isa = PBXVariantGroup;
@@ -281,7 +382,9 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
PRODUCT_NAME = HudDemo;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
@@ -293,8 +396,10 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = HudDemo_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.${PRODUCT_NAME:identifier}";
PRODUCT_NAME = HudDemo;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
@@ -310,7 +415,9 @@
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;
@@ -337,6 +444,7 @@
"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;
@@ -349,6 +457,73 @@
};
name = Release;
};
D28CBB361A87A45A0052DCEC /* 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_ENABLE_OBJC_ARC = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = HudTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
};
name = Debug;
};
D28CBB371A87A45A0052DCEC /* 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_ENABLE_OBJC_ARC = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
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 = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.bukovinski.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/HudDemo.app/HudDemo";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -370,6 +545,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D28CBB351A87A45A0052DCEC /* Build configuration list for PBXNativeTarget "HudTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D28CBB361A87A45A0052DCEC /* Debug */,
D28CBB371A87A45A0052DCEC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
LastUpgradeVersion = "0720"
version = "1.8">
<BuildAction
parallelizeBuildables = "YES"
@@ -20,28 +20,65 @@
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D28CBB2C1A87A45A0052DCEC"
BuildableName = "HudTests.xctest"
BlueprintName = "HudTests"
ReferencedContainer = "container:HudDemo.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D28CBB2C1A87A45A0052DCEC"
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.GDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
displayScaleIsEnabled = "NO"
displayScale = "1.00"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
@@ -56,12 +93,13 @@
<ProfileAction
displayScaleIsEnabled = "NO"
displayScale = "1.00"
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+42
View File
@@ -0,0 +1,42 @@
//
// HudTests.m
// HudTests
//
// Created by Matej Bukovinski on 8. 02. 15.
// Copyright (c) 2015 Matej Bukovinski. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "MBProgressHUD.h"
@interface HudTests : XCTestCase
@property (nonatomic, strong) MBProgressHUD *hud;
@property (nonatomic, strong) UIView *view;
@end
@implementation HudTests
- (void)setUp {
[super setUp];
self.view = [[UIView alloc] init];
self.view.bounds = [[UIScreen mainScreen] bounds];
self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
}
- (void)tearDown {
self.hud = nil;
self.view = nil;
[super tearDown];
}
- (void)testThatHUDExists {
XCTAssertNotNil(self.hud, @"Should be able to create a new HUD instance");
}
@end
+24
View File
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
+3 -1
View File
@@ -18,7 +18,7 @@
<string>Icon@2x.png</string>
</array>
<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>
@@ -58,6 +58,8 @@
<string>{320, 480}</string>
</dict>
</array>
<key>UILaunchStoryboardName</key>
<string>MainWindow</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.matej.$(PRODUCT_NAME:rfc1034identifier)</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>
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 2013 Matej Bukovinski
Copyright (c) 2009-2015 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
+22 -16
View File
@@ -1,12 +1,12 @@
//
// MBProgressHUD.h
// Version 0.9
// Version 0.9.2
// Created by Matej Bukovinski on 2.4.09.
//
// This code is distributed under the terms and conditions of the MIT license.
// Copyright (c) 2013 Matej Bukovinski
// Copyright (c) 2009-2015 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
@@ -33,7 +33,7 @@
@protocol MBProgressHUDDelegate;
typedef enum {
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
/** Progress is shown using an UIActivityIndicatorView. This is the default. */
MBProgressHUDModeIndeterminate,
/** Progress is shown using a round, pie-chart like, progress view. */
@@ -46,16 +46,16 @@ typedef enum {
MBProgressHUDModeCustomView,
/** Shows only labels */
MBProgressHUDModeText
} MBProgressHUDMode;
};
typedef enum {
typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
/** Opacity animation */
MBProgressHUDAnimationFade,
/** Opacity + scale animation */
MBProgressHUDAnimationZoom,
MBProgressHUDAnimationZoomOut = MBProgressHUDAnimationZoom,
MBProgressHUDAnimationZoomIn
} MBProgressHUDAnimation;
};
#ifndef MB_INSTANCETYPE
@@ -98,21 +98,23 @@ typedef void (^MBProgressHUDCompletionBlock)();
* drawn centered as a rounded semi-transparent view which resizes depending on the user specified content.
*
* This view supports four modes of operation:
* - MBProgressHUDModeIndeterminate - shows a UIActivityIndicatorView
* - MBProgressHUDModeDeterminate - shows a custom round progress indicator
* - MBProgressHUDModeAnnularDeterminate - shows a custom annular progress indicator
* - MBProgressHUDModeCustomView - shows an arbitrary, user specified view (@see customView)
* - MBProgressHUDModeIndeterminate - shows a UIActivityIndicatorView
* - MBProgressHUDModeDeterminate - shows a custom round progress indicator
* - MBProgressHUDModeAnnularDeterminate - shows a custom annular progress indicator
* - 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.
* - 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.
*/
@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 appear using the current animationType. If set to NO the HUD will not use
* animations while appearing.
@@ -126,10 +128,12 @@ typedef void (^MBProgressHUDCompletionBlock)();
/**
* Finds the top-most HUD subview 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 showHUDAddedTo:animated:
* @see animationType
@@ -139,6 +143,8 @@ typedef void (^MBProgressHUDCompletionBlock)();
/**
* Finds all the HUD subviews and hides them.
*
* @note This method sets `removeFromSuperViewOnHide`. The HUDs will automatically be removed from the view hierarchy when hidden.
*
* @param view The view that is going to be searched for HUD subviews.
* @param animated If set to YES the HUDs will disappear using the current animationType. If set to NO the HUDs will not use
* animations while disappearing.
@@ -428,7 +434,7 @@ typedef void (^MBProgressHUDCompletionBlock)();
/**
* The actual size of the HUD bezel.
* You can use this to limit touch handling on the bezel aria only.
* You can use this to limit touch handling on the bezel area only.
* @see https://github.com/jdg/MBProgressHUD/pull/200
*/
@property (atomic, assign, readonly) CGSize size;
+42 -32
View File
@@ -1,6 +1,6 @@
//
// MBProgressHUD.m
// Version 0.9
// Version 0.9.2
// Created by Matej Bukovinski on 2.4.09.
//
@@ -70,7 +70,6 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
@property (atomic, MB_STRONG) NSTimer *minShowTimer;
@property (atomic, MB_STRONG) NSDate *showStarted;
@end
@@ -115,6 +114,7 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated {
MBProgressHUD *hud = [[self alloc] initWithView:view];
hud.removeFromSuperViewOnHide = YES;
[view addSubview:hud];
[hud show:animated];
return MB_AUTORELEASE(hud);
@@ -245,20 +245,22 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
#pragma mark - Show & hide
- (void)show:(BOOL)animated {
NSAssert([NSThread isMainThread], @"MBProgressHUD needs to be accessed on the main thread.");
useAnimation = animated;
// If the grace time is set postpone the HUD display
if (self.graceTime > 0.0) {
self.graceTimer = [NSTimer scheduledTimerWithTimeInterval:self.graceTime target:self
selector:@selector(handleGraceTimer:) userInfo:nil repeats:NO];
NSTimer *newGraceTimer = [NSTimer timerWithTimeInterval:self.graceTime target:self selector:@selector(handleGraceTimer:) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:newGraceTimer forMode:NSRunLoopCommonModes];
self.graceTimer = newGraceTimer;
}
// ... otherwise show the HUD imediately
else {
[self setNeedsDisplay];
[self showUsingAnimation:useAnimation];
}
}
- (void)hide:(BOOL)animated {
NSAssert([NSThread isMainThread], @"MBProgressHUD needs to be accessed on the main thread.");
useAnimation = animated;
// If the minShow time is set, calculate how long the hud was shown,
// and pospone the hiding operation if necessary
@@ -287,7 +289,6 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
- (void)handleGraceTimer:(NSTimer *)theTimer {
// Show the HUD only if the task is still running
if (taskInProgress) {
[self setNeedsDisplay];
[self showUsingAnimation:useAnimation];
}
}
@@ -298,21 +299,17 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
#pragma mark - View Hierrarchy
- (BOOL)shouldPerformOrientationTransform {
BOOL isPreiOS8 = NSFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_8_0;
// prior to iOS8 code needs to take care of rotation if it is being added to the window
return isPreiOS8 && [self.superview isKindOfClass:[UIWindow class]];
}
- (void)didMoveToSuperview {
if ([self shouldPerformOrientationTransform]) {
[self setTransformForCurrentOrientation:NO];
}
[self updateForCurrentOrientationAnimated:NO];
}
#pragma mark - Internal show & hide operations
- (void)showUsingAnimation:(BOOL)animated {
// Cancel any scheduled hideDelayed: calls
[NSObject cancelPreviousPerformRequestsWithTarget:self];
[self setNeedsDisplay];
if (animated && animationType == MBProgressHUDAnimationZoomIn) {
self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(0.5f, 0.5f));
} else if (animated && animationType == MBProgressHUDAnimationZoomOut) {
@@ -510,7 +507,9 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
if (mode == MBProgressHUDModeAnnularDeterminate) {
[(MBRoundProgressView *)indicator setAnnular:YES];
}
}
[(MBRoundProgressView *)indicator setProgressTintColor:self.activityIndicatorColor];
[(MBRoundProgressView *)indicator setBackgroundTintColor:[self.activityIndicatorColor colorWithAlphaComponent:0.1f]];
}
else if (mode == MBProgressHUDModeCustomView && customView != indicator) {
// Update custom view indicator
[indicator removeFromSuperview];
@@ -534,7 +533,7 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
}
CGRect bounds = self.bounds;
// Determine the total widt and height needed
// Determine the total width and height needed
CGFloat maxWidth = bounds.size.width - 4 * margin;
CGSize totalSize = CGSizeZero;
@@ -718,36 +717,46 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
#pragma mark - Notifications
- (void)registerForNotifications {
#if !TARGET_OS_TV
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(statusBarOrientationDidChange:)
name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
#endif
}
- (void)unregisterFromNotifications {
#if !TARGET_OS_TV
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc removeObserver:self name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
[nc removeObserver:self name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
#endif
}
#if !TARGET_OS_TV
- (void)statusBarOrientationDidChange:(NSNotification *)notification {
UIView *superview = self.superview;
if (!superview) {
return;
} else if ([self shouldPerformOrientationTransform]) {
[self setTransformForCurrentOrientation:YES];
} else {
self.frame = self.superview.bounds;
[self setNeedsDisplay];
[self updateForCurrentOrientationAnimated:YES];
}
}
#endif
- (void)updateForCurrentOrientationAnimated:(BOOL)animated {
// Stay in sync with the superview in any case
if (self.superview) {
self.bounds = self.superview.bounds;
[self setNeedsDisplay];
}
// Not needed on iOS 8+, compile out when the deployment target allows,
// to avoid sharedApplication problems on extension targets
#if __IPHONE_OS_VERSION_MIN_REQUIRED < 80000
// Only needed pre iOS 7 when added to a window
BOOL iOS8OrLater = kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0;
if (iOS8OrLater || ![self.superview isKindOfClass:[UIWindow class]]) return;
- (void)setTransformForCurrentOrientation:(BOOL)animated {
// Stay in sync with the superview
if (self.superview) {
self.bounds = self.superview.bounds;
[self setNeedsDisplay];
}
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
CGFloat radians = 0;
if (UIInterfaceOrientationIsLandscape(orientation)) {
@@ -769,6 +778,7 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
if (animated) {
[UIView commitAnimations];
}
#endif
}
@end
@@ -815,7 +825,7 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
if (_annular) {
// Draw background
BOOL isPreiOS7 = NSFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
BOOL isPreiOS7 = kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
CGFloat lineWidth = isPreiOS7 ? 5.f : 2.f;
UIBezierPath *processBackgroundPath = [UIBezierPath bezierPath];
processBackgroundPath.lineWidth = lineWidth;
@@ -847,7 +857,7 @@ static const CGFloat kDetailsLabelFontSize = 12.f;
CGFloat radius = (allRect.size.width - 4) / 2;
CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
CGFloat endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
CGContextSetRGBFillColor(context, 1.0f, 1.0f, 1.0f, 1.0f); // white
[_progressTintColor setFill];
CGContextMoveToPoint(context, center.x, center.y);
CGContextAddArc(context, center.x, center.y, radius, startAngle, endAngle, 0);
CGContextClosePath(context);
+1 -1
View File
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MBProgressHUD"
s.version = "0.9"
s.version = "0.9.2"
s.summary = "An iOS activity indicator view."
s.description = <<-DESC
MBProgressHUD is an iOS drop-in class that displays a translucent HUD
+153 -8
View File
@@ -8,6 +8,8 @@
/* 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 */; };
@@ -29,6 +31,8 @@
/* 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; };
@@ -38,6 +42,13 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
1D104D761ACA36CC00973364 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
D286A7461518C70F00E13FB8 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -54,6 +65,7 @@
1315DD72178044770032507D /* Supporting Files */ = {
isa = PBXGroup;
children = (
1D104D951ACA376200973364 /* Framework-Info.plist */,
1315DD73178045000032507D /* MBProgressHUD-Prefix.pch */,
);
name = "Supporting Files";
@@ -72,6 +84,7 @@
isa = PBXGroup;
children = (
D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */,
1D104D7A1ACA36CC00973364 /* MBProgressHUD.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -98,10 +111,39 @@
};
/* 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 */
D286A7481518C70F00E13FB8 /* MBProgressHUD */ = {
1D104D791ACA36CC00973364 /* MBProgressHUD Framework */ = {
isa = PBXNativeTarget;
buildConfigurationList = D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD" */;
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 */,
@@ -111,7 +153,7 @@
);
dependencies = (
);
name = MBProgressHUD;
name = "MBProgressHUD Static Library";
productName = MBProgressHUD;
productReference = D286A7491518C70F00E13FB8 /* libMBProgressHUD.a */;
productType = "com.apple.product-type.library.static";
@@ -123,8 +165,13 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MB;
LastUpgradeCheck = 0460;
LastUpgradeCheck = 0630;
ORGANIZATIONNAME = "Matej Bukovinski";
TargetAttributes = {
1D104D791ACA36CC00973364 = {
CreatedOnToolsVersion = 6.2;
};
};
};
buildConfigurationList = D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */;
compatibilityVersion = "Xcode 3.2";
@@ -138,12 +185,31 @@
projectDirPath = "";
projectRoot = "";
targets = (
D286A7481518C70F00E13FB8 /* MBProgressHUD */,
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;
@@ -155,6 +221,70 @@
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
1D104D8E1ACA36CC00973364 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
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_NAME = MBProgressHUD;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
1D104D8F1ACA36CC00973364 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
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_NAME = MBProgressHUD;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
D286A7541518C70F00E13FB8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -166,10 +296,13 @@
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;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -200,9 +333,12 @@
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;
@@ -223,7 +359,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = MBProgressHUD;
SKIP_INSTALL = YES;
};
name = Debug;
@@ -235,7 +371,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_NAME = MBProgressHUD;
SKIP_INSTALL = YES;
};
name = Release;
@@ -243,6 +379,15 @@
/* 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 = (
@@ -252,7 +397,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD" */ = {
D286A7561518C70F00E13FB8 /* Build configuration list for PBXNativeTarget "MBProgressHUD Static Library" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D286A7571518C70F00E13FB8 /* Debug */,
@@ -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>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
LastUpgradeVersion = "0720"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -16,35 +16,38 @@
BuildableIdentifier = "primary"
BlueprintIdentifier = "D286A7481518C70F00E13FB8"
BuildableName = "libMBProgressHUD.a"
BlueprintName = "MBProgressHUD"
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"
buildConfiguration = "Debug">
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D286A7481518C70F00E13FB8"
BuildableName = "libMBProgressHUD.a"
BlueprintName = "MBProgressHUD"
BlueprintName = "MBProgressHUD Static Library"
ReferencedContainer = "container:MBProgressHUD.xcodeproj">
</BuildableReference>
</MacroExpansion>
@@ -52,10 +55,10 @@
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
+3
View File
@@ -13,4 +13,7 @@
<FileRef
location = "group:LICENSE">
</FileRef>
<FileRef
location = "group:MBProgressHUD.podspec">
</FileRef>
</Workspace>
+22 -14
View File
@@ -1,6 +1,8 @@
# MBProgressHUD [![Build Status](https://travis-ci.org/matej/MBProgressHUD.png)](https://travis-ci.org/matej/MBProgressHUD)
# MBProgressHUD
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.
[![Build Status](https://travis-ci.org/matej/MBProgressHUD.svg?branch=master)](https://travis-ci.org/matej/MBProgressHUD) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) [![Cocoapods compatible](https://img.shields.io/cocoapods/v/MBProgressHUD.svg?style=flat)](https://cocoapods.org/pods/MBProgressHUD) [![License: MIT](https://img.shields.io/cocoapods/l/MBProgressHUD.svg?style=flat)](http://opensource.org/licenses/MIT)
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-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/1.png)
[![](http://dl.dropbox.com/u/378729/MBProgressHUD/2-thumb.png)](http://dl.dropbox.com/u/378729/MBProgressHUD/2.png)
@@ -18,7 +20,7 @@ MBProgressHUD works on any iOS version and is compatible with both ARC and non-A
* UIKit.framework
* CoreGraphics.framework
You will need LLVM 3.0 or later in order to build MBProgressHUD.
You will need the latest developer tools in order to build MBProgressHUD. Old Xcode versions might work, but compatibility will not be explicitly maintained.
## Adding MBProgressHUD to your project
@@ -26,30 +28,36 @@ You will need LLVM 3.0 or later in order to build MBProgressHUD.
[CocoaPods](http://cocoapods.org) is the recommended way to add MBProgressHUD to your project.
1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 0.8'`
1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 0.9.2'`
2. Install the pod(s) by running `pod install`.
3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
### Carthage
1. Add MBProgressHUD to your Cartfile. e.g., `github "jdg/MBProgressHUD" ~> 0.9.2`
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.
### Source files
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.
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.
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.
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.
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];
@@ -61,7 +69,7 @@ dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
});
```
If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns.
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];
@@ -94,8 +102,8 @@ For more examples, including how to use MBProgressHUD with asynchronous operatio
## License
This code is distributed under the terms and conditions of the [MIT license](LICENSE).
This code is distributed under the terms and conditions of the [MIT license](LICENSE).
## Change-log
A brief summary of each MBProgressHUD release can be found on the [wiki](https://github.com/matej/MBProgressHUD/wiki/Change-log).
A brief summary of each MBProgressHUD release can be found on the [wiki](https://github.com/matej/MBProgressHUD/wiki/Change-log).