marxon13 / m13progresssuite Goto Github PK
View Code? Open in Web Editor NEWA suite containing many tools to display progress information on iOS.
A suite containing many tools to display progress information on iOS.
When displaying the ProgressHUD on an iPad where the app was startet while the device was already in landscape mode, the ProgressHUD shows up with the wrong direction (portrait).
This might be an iPad/iOS bug - not sure.
Cloning into '/var/folders/l2/xv5676ys3bs6y9f0z7y6zrkm0000gn/T/d20150804-2940-eqrwee'...
fatal: unable to access 'https://github.com/Marxon13/M13ProgressSuite.git/': Empty reply from server
Perhaps I can update to use constraints?
Just a note, in the example app,
UIWindow *window = ((AppDelegate *)[UIApplication sharedApplication].delegate).window;
[window addSubview:HUD];
Those 2 lines causes memory leak. Your HUD is not getting released when viewcontroller is getting popped off by the navigation controller. I profile this in my own app and the example app in M13ProgressSuite.
M13ProgressHUD was using >800mb of RAM before getting shut down by ios.
Each time you push onto a viewcontroller that contains the HUD about 2mb gets added and never released.
Just add the HUD onto your view instead of the window and the problems will be solved.
pod repo add M13ProgressSuite https://github.com/Marxon13/M13ProgressSuite
Podfile
that's when I got this error.Thanks! :)
CocoaPods : 0.29.0
Ruby : ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
RubyGems : 2.1.4
Host : Mac OS X 10.9.1 (13B42)
Xcode : 5.0.2 (5A3005)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : M13ProgressSuite - https://github.com/tbergeron/M13ProgressSuite @ f13905800ecf8c2088294481a36d5c48c20ed960
master - https://github.com/CocoaPods/Specs.git @ da3319f474f5623533d4bd779ec7d52f66d88555
platform :ios, '7.0'
inhibit_all_warnings!
pod 'SDWebImage'
pod 'EAIntroView'
pod 'SORelativeDateTransformer'
pod 'DAKeyboardControl'
pod 'ShareKit'
pod 'MGBox2'
pod 'Foursquare-API-v2'
pod 'M13ProgressSuite'
ArgumentError - Malformed version number string en.lproj
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/vendor/version.rb:191:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/version.rb:62:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/source.rb:93:in `new'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/source.rb:93:in `block in versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/source.rb:93:in `map'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/source.rb:93:in `versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:154:in `block in versions_by_source'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:153:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:153:in `versions_by_source'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:133:in `versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:126:in `acceptable_versions'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.29.0/lib/cocoapods-core/specification/set.rb:65:in `required_by'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:154:in `block (2 levels) in find_dependency_specs'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/user_interface.rb:113:in `message'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:152:in `block in find_dependency_specs'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:148:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:148:in `find_dependency_specs'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:65:in `block (2 levels) in resolve'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/user_interface.rb:52:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:63:in `block in resolve'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:62:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/resolver.rb:62:in `resolve'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer/analyzer.rb:297:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/user_interface.rb:52:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer/analyzer.rb:295:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer/analyzer.rb:57:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer.rb:171:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer.rb:94:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/user_interface.rb:52:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer.rb:93:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/installer.rb:86:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/command/project.rb:38:in `run_install_with_update'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/command/project.rb:68:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-0.4.0/lib/claide/command.rb:213:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/lib/cocoapods/command.rb:51:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.29.0/bin/pod:24:in `<top (required)>'
/usr/bin/pod:23:in `load'
/usr/bin/pod:23:in `<main>'
First of all, I'm sorry, my English is very bad. When I created the download task, using this method does not work. Only when the download is complete, the UI will change. Thank you
Would be great to see ProgressHUD with 'show' method, where all stuff is encapsulated.
I've noticed when I render a ring (for example a download), and the download completes and then I update the ring with performAction = success, then the check is drawn, but the progress ring remains where it is. i have other cells with the ring which immediately show the success, and those have no progress path drawn, and look thinner.
In M13ProgressViewRing.m
in the function drawSuccess
- if I add a line like this:
[_progressLayer removeFromSuperlayer];
Then the progress ring is removed and things look consistent. I am posting this issue to see if the design intent was not to update the progress ring path.
[self.navigationController setProgress:dlStatus animated:YES]; - work's fine, but finish and cancel methods doesn't work
UPD
I think it doesn't worked cuz I have been already using MRProgress, and two custom implementation of UINavigationBar have had a conflict.
Must be closed
I check the code and default is 2.5.
How to change it without modify sourcecode?
Thanks
Methods in the UINavigationController
category should be prefixed with e.g. m13_
.
I got a debugging a conflict with setProgress
in another category.
I have read #17 but theres no "animated" property on M13ProgressViewBar class
metro progress not working on iPhone 5
Hello, I am trying to change the color of the rings that are already filled in on the segmented ring color.
Here is the code I have but it doesn't seem to be doing the job:
UIColor *theColor = [UIColor colorWithRed:25/255.0 green:197/255.0 blue:255/255.0 alpha:1.0];
[_progressView setTintColor:theColor];
Any suggestions?
Hi !
It would be great to add a block parameter.
Example of what I would like to do:
What do you think? It is enough to implement in the base class (M13ProgressView
) or should it be done in all the subclasses?
Thanks
Please consider implementing the -intrinsicContentSize
method in all your custom views for automatic resizing when using Auto Layout. You will also need to call -invalidateIntrinsicContentSize
when the content size changes.
Refer to this link for additional information: https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/ImplementingView/ImplementingView.html
Thanks for your awesome job!
In swift, when I call self.navigationController!.setProgress(0.5, animated:true) in viewDidLoad, no blue bar appeara in the navigation bar. I tried setting primarycolor but the bar still doesn't appear.
Hi, It'd be great to have support for Carthage. Please see https://github.com/Carthage/Carthage
You'll need to share the XCode scheme and tag a release with semantic versioning system.
Thanks
I've tried Cocoapods with no luck (message: Repository not found on Github)
Can I install it manually?How?
I want to use it programmatically (no Storyboard).
Thanks and congratulation for this great job.
Alex
Hello, I am trying to use a the M13ProgressViewRing without showing the percentage, but sometimes the the progress ring isn't spinning, it is just frozen in one spot.
Build breaks when i added the framework for App Extension target due to usage of [UIApplication sharedApplication].statusBarOrientation.
When I use white color as navigationBarTintColor in my NavigationController, striped bar becomes completely white.
Example:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
[self.navigationController.navigationBar setBarTintColor:[UIColor brownColor]];
[self.navigationController showProgress];
[self.navigationController setIndeterminate:YES];
}
set progress ring view to indeterminate mode and let app enter background and back to foreground. the indeterminate animation stopped.
Thanks for the nice project, but cocoapods seems not updated.
Would you please add cocoapods supported?
The status is only displayed for a very short time and after that disappears, even with the simple thing like this:
_hud = [[M13ProgressHUD alloc] initWithProgressView:[[M13ProgressViewRing alloc] init]];
_hud.progressViewSize = CGSizeMake(60.0, 60.0);
[_uiBgImageView addSubview:_hud];
[_hud setMaskType:M13ProgressHUDMaskTypeSolidColor];
[_hud setIndeterminate:YES];
[_hud show:YES];
_hud.status = @"Loading...";
I would like to segue to different controllers after, and only after, animation of the progress HUD is finished. For example, when upload succeeds, I wanted to segue after the success animation is finished. Same thing with failing.
It would be great to have completion blocks for this. Thanks!
I was trying to use an M13ProgressViewBar in a UITableViewCell. I have some cells that have some progress, but other cells have 0% progress.
Since these views are in UITableViewCells, they will be recycled when added to a UITableView. If I call "setProgress:0" on one of these items, the cell will not redraw. This is because the routine "drawRect" does nothing if "self.progress" is 0.
I created a pull request, #43, to address this problem. All I do is call
[_progressLayer setPath:nil];
and that takes care of it.
hello im not sure why but im getting this crash at :
[self.displayLink removeFromRunLoop:NSRunLoop.mainRunLoop forMode:NSRunLoopCommonModes];
not all the time but every few launches of the app
Setting backgroundRingWidth with a new value is not working ...
You can to change
_progressRingWidthOverriden = YES;
to
_backgroundRingWidthOverriden = YES;
on line 150
Lots of files in this repo don't really need to be checked in, particularly the xcworkspace
and Pods
directories.
Could use this as a reference:
http://stackoverflow.com/questions/18939421/what-should-xcode-5-gitignore-file-include
Looking through the code for M13ProgressViewBar -setup. The _progressBar.layer.cornerRadius is set to be half of the default progressBarThickness. However, when setting the progressBarThickness attribute externally, the corner radius of the _progressBar view is never updated to match the new thickness. I suggest updating the corner radius for this view in the setter for progressBarThickness.
I have some logic to determine which progress to show, one for 6 and one for 7, as M13ProgressHUD works great with iOS7.
I am using 'performSelectorOnMainThread' to show the 6 version and it works just fine and disappears promptly when 100% complete. In my app, the updates (10% ... 100%) to these alerts need to run in a thread so the processing is not blocked, so basically a modal alert view, probably basic premise.
When the iOS 7 device runs with this HUD, all is good until 100%, where the dialog shows for about 7 seconds before disappearing -- way too long. How can I run this without blocking the bg process and shutdown quickly when done, as you do in your demo. The demo, however, is not processing anything so the example is not exactly my use case.
Thanks !
I use navigation progress in a webView, it works.
but sometimes, when I pop back, the navigation progress will not cancel or finish.
The prev viewcontroller will show the progress.
It happened sometimes.
Hi.
I'm not sure why but whenever I use the line shape M13ProgressViewMetroAnimationShapeLine with the metro HUD and when the view frame is not a square the line pattern is actually rotated.
Is that expected behaviour ?
I try to integrate this into my project using cocoapods but I found the latest version on pod is 1.0.1. Just wondering when could the podspec be updated to 1.1.0?
M13ProgressHUD with mask M13ProgressHUDMaskTypeGradient generates the following warning:
Error: CGContextDrawRadialGradient: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.
There seem to be no mention about this in readme.
Thanks
I'm having some issues with ShapeCircle Segmented Bar when creating it programmatically. ShapeRectangle and ShapeRoundedRect works fine, but when I change the type to ShapeCircle, segmented bar is not displayed at all.
I suppose it has something to do with calculating cornerRadius in drawIndeterminate
method as if I replace line 439 in M13ProgressViewSegmentedBar.m with cornerRadius = _cornerRadius
, it solves the issue. However, I'm not sure about the consequences of that.
I compiled project with such compiler flag and there are a lots of warnings.
Xcode suggested to explicitly mention "self" (self->_ivar instead of _ivar) to indicate this is intended behaviour.
Could you please take a look at warnings - where is intended behaviour & where is not?
What do you think?
I have created a fairly standard setup for an app; a UINavigationController (no custom class) with a UITableViewController as its root controller, displaying a list of items fetched from a server and I want to show a HUD to show the progress.
This is the code I'm using; it is taken straight from the sample app
- (void)viewDidLoad
{
[super viewDidLoad];
HUD = [[M13ProgressHUD alloc] initWithProgressView:[[M13ProgressViewRing alloc] init]];
HUD.progressViewSize = CGSizeMake(60.0, 60.0);
UIWindow *window = ((LPAppDelegate *)[UIApplication sharedApplication].delegate).window;
[window addSubview:HUD];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[HUD show: YES];
}
The HUD works but instead of "popping" from the middle of the screen it "grows" from the top left angle of the screen to its full size.
I looked allover the sample project to find differences and the only thing I'm doing different aside from performing this on viewDidAppear is that I'm calling this from a UITableViewController.
I tried moving this to a UIViewController and it works perfectly (even with said ViewController being part of a navigation stack) so it seems it is the table view controller's fault
Any idea why this is happening? I found that editing M13ProgressHUD.m's layoutHUD and moving
backgroundView.frame = CGRectIntegral(backgroundRect);
_progressView.frame = CGRectIntegral(progressRect);
outside the UIView animateWithDuration block fixes the issue, but it doesn't look ideal and since it only happens inside the UITableView there must be something else causing it.
The ProgressHUD follows the orientation of the device instead of rotating along with the rest of the UI.
Pods/M13ProgressSuite/Classes/ProgressViews/M13ProgressViewBar.m:30:42: Auto property synthesis will not synthesize property 'progress' because it is 'readwrite' but it will be synthesized 'readonly' via another property
Pods/M13ProgressSuite/Classes/ProgressViews/M13ProgressViewBorderedBar.m:26:42: Auto property synthesis will not synthesize property 'progress' because it is 'readwrite' but it will be synthesized 'readonly' via another property
Pods/M13ProgressSuite/Classes/ProgressViews/M13ProgressViewFilteredImage.m:27:42: Auto property synthesis will not synthesize property 'progress' because it is 'readwrite' but it will be synthesized 'readonly' via another property
Pods/M13ProgressSuite/Classes/ProgressViews/M13ProgressViewRing.m:31:42: Auto property synthesis will not synthesize property 'progress' because it is 'readwrite' but it will be synthesized 'readonly' via another property
Hi there,
I'm using this class to indicate download progress. Sometimes I get a crash when is rendering the current progress in createImageForCurrentProgress
method. I'm instantiating it with the following code:
self.progressImage = [[M13ProgressViewImage alloc] initWithFrame:CGRectMake(10, 10, 45, 45)];
self.progressImage.progressImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:self.stickerURL];
self.progressImage.progressDirection = M13ProgressViewImageProgressDirectionBottomToTop;
self.progressImage.drawGreyscaleBackground = NO;
I keep getting a crash when the display link is removed from runloop - delta is above 1.0:
https://github.com/Marxon13/M13ProgressSuite/blob/master/Classes/NavigationController/UINavigationController%2BM13ProgressViewBar.m#L62
A fix is to invalidate the display link rather than removing from run loop:
if (dt >= 1.0) {
//Order is important! Otherwise concurrency will cause errors, because setProgress: will detect an animation in progress and try to stop it by itself. Once over one, set to actual progress amount. Animation is over.
[displayLink invalidate];
[self setDisplayLink:nil];
[self setProgress:[self getAnimationToValue]];
return;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.