Skip to content

Commit

Permalink
initWithCoder
Browse files Browse the repository at this point in the history
  • Loading branch information
corerd committed Feb 7, 2013
1 parent 4c1df28 commit f0428fd
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 46 deletions.
3 changes: 3 additions & 0 deletions ADVProgressBar/ADVViewController.h
Expand Up @@ -32,9 +32,12 @@
*/

#import <UIKit/UIKit.h>
#import "ADVPercentProgressBar.h"

@interface ADVViewController : UIViewController <UIWebViewDelegate>

/// Custom UIView
@property (weak, nonatomic) IBOutlet ADVPercentProgressBar *blueProgressBar;

@property (nonatomic, strong) NSArray* percentProgressBars;
@property (nonatomic, strong) NSArray* integralProgressBars;
Expand Down
6 changes: 5 additions & 1 deletion ADVProgressBar/ADVViewController.m
Expand Up @@ -32,7 +32,6 @@ of this software and associated documentation files (the "Software"), to deal
*/

#import "ADVViewController.h"
#import "ADVPercentProgressBar.h"


@implementation ADVViewController
Expand Down Expand Up @@ -121,6 +120,9 @@ - (void)viewDidLoad

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

self.blueProgressBar.progress = 0.5;

}

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
Expand All @@ -144,6 +146,8 @@ -(IBAction)sliderValueChanged:(UISlider*)sender
{
[percentProgressBar setProgress:sender.value];
}

[self.blueProgressBar setProgress:sender.value];
}

- (void)viewDidUnload
Expand Down
128 changes: 88 additions & 40 deletions ADVProgressBar/Classes/ADVPercentProgressBar.m
Expand Up @@ -43,62 +43,110 @@ @implementation ADVPercentProgressBar
UIImageView *bgImageView;
UIImageView *progressImageView;
UIImage *progressFillImage;

ADVPercentProgressBar *customView;
CGRect customViewFrame;
BOOL customViewFromNIB;

}


@synthesize progress;

- (id)init
{
self = [super init];
if (self) {
customViewFromNIB = NO;
}
return self;
}

- (void)draw:(CGRect)frame withProgressBarColor:(ADVProgressBarColor)barColor
{
NSString* progressFillStr = [self getImageNameFromBarDefinition:barColor];

progressFillImage = [UIImage imageNamed:progressFillStr];

bgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];

[bgImageView setImage:[UIImage imageNamed:@"progress-track.png"]];

[self addSubview:bgImageView];

progressImageView = [[UIImageView alloc] initWithFrame:CGRectMake(1, 0, 0, frame.size.height)];

[self addSubview:progressImageView];

//percentView = [[UIView alloc] initWithFrame:CGRectMake(LEFT_PADDING, 6, 32, 17)];
percentView = [[UIView alloc] initWithFrame:CGRectMake(LEFT_PADDING, 0, 32, 17)];

UIImageView* percentImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32, 17)];

[percentImageView setImage:[UIImage imageNamed:@"progress-count.png"]];

UILabel* percentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 32, 17)];

[percentLabel setTag:1];
[percentLabel setText:@"0"];
[percentLabel setBackgroundColor:[UIColor clearColor]];
[percentLabel setFont:[UIFont boldSystemFontOfSize:13]];
[percentLabel setTextAlignment:UITextAlignmentCenter];
[percentLabel setAdjustsFontSizeToFitWidth:YES];

[percentView addSubview:percentImageView];
[percentView addSubview:percentLabel];

[self addSubview:percentView];

self.progress = 0.0f;
self.showPercent = YES;
self.minProgressValue = 0.0f;
self.maxProgressValue = 1.0f;
}

- (id)initWithFrame:(CGRect)frame andProgressBarColor:(ADVProgressBarColor)barColor
{

if (self = [super initWithFrame:frame])
if (self = [super initWithFrame:frame])
{

NSString* progressFillStr = [self getImageNameFromBarDefinition:barColor];

progressFillImage = [UIImage imageNamed:progressFillStr];

bgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];

[bgImageView setImage:[UIImage imageNamed:@"progress-track.png"]];

[self addSubview:bgImageView];

progressImageView = [[UIImageView alloc] initWithFrame:CGRectMake(1, 0, 0, frame.size.height)];

[self addSubview:progressImageView];

percentView = [[UIView alloc] initWithFrame:CGRectMake(LEFT_PADDING, 6, 32, 17)];

UIImageView* percentImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32, 17)];

[percentImageView setImage:[UIImage imageNamed:@"progress-count.png"]];

UILabel* percentLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 32, 17)];

[percentLabel setTag:1];
[percentLabel setText:@"0"];
[percentLabel setBackgroundColor:[UIColor clearColor]];
[percentLabel setFont:[UIFont boldSystemFontOfSize:13]];
[percentLabel setTextAlignment:UITextAlignmentCenter];
[percentLabel setAdjustsFontSizeToFitWidth:YES];

[percentView addSubview:percentImageView];
[percentView addSubview:percentLabel];

[self addSubview:percentView];

self.progress = 0.0f;
self.showPercent = YES;
self.minProgressValue = 0.0f;
self.maxProgressValue = 1.0f;
[self draw:frame withProgressBarColor:barColor];
}

return self;
}


// Override initWithCoder: if you're loading it from a nib or storyboard.
- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
customViewFromNIB = YES;
customViewFrame = self.frame;
[self draw:self.frame withProgressBarColor:ADVProgressBarBlue];
}

return self;
}


// Override layoutSubviews
// This function gets called whenever the frame of the view changes.
/*
- (void)layoutSubviews
{
[super layoutSubviews];
if (customViewFromNIB != YES) {
return;
}
[self draw:self.frame withProgressBarColor:ADVProgressBarBlue];
}
*/

- (void)setProgress:(CGFloat)theProgress
{
if (self.progress == theProgress) {
Expand Down
31 changes: 26 additions & 5 deletions ADVProgressBar/en.lproj/MainStoryboard.storyboard
@@ -1,24 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="1.0" toolsVersion="1906" systemVersion="11A511" targetRuntime="iOS.CocoaTouch" nextObjectID="6" propertyAccessControl="none" initialViewController="2">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="2844" systemVersion="11G63b" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="2">
<dependencies>
<development defaultVersion="4200" identifier="xcode"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="902"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="1930"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="5">
<objects>
<placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
<viewController id="2" customClass="ADVViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="3">
<rect key="frame" x="0.0" y="20" width="320" height="460"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews/>
<subviews>
<view contentMode="scaleToFill" id="fI1-Ey-NbA" customClass="ADVPercentProgressBar">
<rect key="frame" x="20" y="357" width="280" height="41"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
<connections>
<outlet property="blueProgressBar" destination="fI1-Ey-NbA" id="te7-VC-bPh"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
<classes>
<class className="ADVPercentProgressBar" superclassName="UIView">
<source key="sourceIdentifier" type="project" relativePath="./Classes/ADVPercentProgressBar.h"/>
</class>
<class className="ADVViewController" superclassName="UIViewController">
<source key="sourceIdentifier" type="project" relativePath="./Classes/ADVViewController.h"/>
<relationships>
<relationship kind="action" name="sliderValueChanged:" candidateClass="UISlider"/>
<relationship kind="outlet" name="blueProgressBar" candidateClass="ADVPercentProgressBar"/>
</relationships>
</class>
</classes>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
Expand Down

0 comments on commit f0428fd

Please sign in to comment.