Wednesday, May 16, 2012

SimpleView Based app with id initWithFrame Not working

I have app to create a graph i have created a view based app and then add the code for creating graph in it but it does not disply the graph. If use same code to create a separate UIView then it works other wise not



   #import <UIKit/UIKit.h>
#import "ECGraph.h"
#import "ECGraphItem.h"
@class GraphsViewController;
@interface Display : UIView {

NSArray *percentages;

int myY;
ECGraph *graph;
ECGraphItem *item1;
ECGraphItem *item2;


}
@property(nonatomic,retain)NSArray*percentages;

-(void) setPercentageArray:(NSArray*) array;

@end


#import "Display.h"
#import "ECGraph.h"
@implementation Display
@synthesize percentages;

- (id)initWithFrame:(CGRect)frame {

self = [super initWithFrame:frame];
if (self) {
// Initialization code.
}
return self;
}


- (void)drawRect:(CGRect)rect {


CGContextRef _context = UIGraphicsGetCurrentContext();



graph = [[ECGraph alloc] initWithFrame:CGRectMake(500,-320,320, 200) withContext:_context isPortrait:NO];


item1 = [[ECGraphItem alloc] init];

item2 = [[ECGraphItem alloc] init];
/*
ECGraphItem *item1 = [[ECGraphItem alloc] init];

ECGraphItem *item2 = [[ECGraphItem alloc] init];*/

item1.isPercentage = YES;



item1.yValue=myY;




item1.width = 35;
item1.name = @"item1";

item2.isPercentage = YES;
item2.yValue =17;

item2.width = 35;
item2.name = @"item2";



[graph setXaxisTitle:@"name"];
[graph setYaxisTitle:@"Percentage"];
[graph setGraphicTitle:@"Histogram"];
[graph setDelegate:self];
[graph setBackgroundColor:[UIColor colorWithRed:220/255.0 green:220/255.0 blue:220/255.0 alpha:1]];



NSArray *items = [[NSArray alloc] initWithObjects:item1,item2,nil];


[graph drawHistogramWithItems:items lineWidth:2 color:[UIColor blackColor]];




}


I am adding this view in GraphsViewController but its not showing anything



// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.



 - (void)viewDidLoad {
[super viewDidLoad];

[self createGraph];



percentages = [NSArray arrayWithObjects:@"80",@"17", nil];

display = [[Display alloc] init];

[self.view addSubview:display];

[display setPercentageArray:percentages];

}




No comments:

Post a Comment