Help
Help
- Subject: Help
- From: himanshu jain <email@hidden>
- Date: Tue, 7 Jul 2009 23:44:09 -0700
Hi ,
I got a problem here , problem is with drawRect: method , i am
using UIViewController class in which i have one PolygonView instance . I
already added this as an outlet in nib file , now what when i am trying to
unwrap CGPoints from NSValue ,which i got from NSArray i could not get that
value .
warning: Unable to read symbols from "UIKit" (not yet mapped into memory).
warning: Unable to read symbols for
"/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics" (file not
found).
My Code is :------------
UIViewController class
//
// HelloPolygonViewController.m
// HelloPolygon
//
// Created by MOHIT JOSHI on 7/2/09.
// Copyright SDSU 2009. All rights reserved.
//
#import "HelloPolygonViewController.h"
#import "PolygonShape.h"
@implementation HelloPolygonViewController
/*
// The designated initializer. Override to perform setup that is required
before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle
*)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
// Custom initialization
}
return self;
}
*/
/*
// Implement loadView to create a view hierarchy programmatically, without
using a nib.
- (void)loadView {
}
*/
// Implement viewDidLoad to do additional setup after loading the view,
typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
/*
// Override to allow orientations other than the default portrait
orientation.
-
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Releases the view if it doesn't have
a superview
// Release anything that's not essential, such as cached data
}
- (IBAction)increase:(id)sender {
//numberOfSidesLabel.text.integerValue =
numberOfSidesLabel.text.integerValue+1;
[polygonShape numberOfSides:numberOfSides.text.integerValue+1];
numberOfSides.text =[NSString stringWithFormat:@"%d",[polygonShape
numberOfSides]];
[self setNumberOfsides:[polygonShape numberOfSides]];
}
- (IBAction)decrease:(id)sender {
// numberOfSidesLabel.text.integerValue =
numberOfSidesLabel.text.integerValue-1;
[polygonShape numberOfSides:numberOfSides.text.integerValue-1];
numberOfSides.text =[NSString stringWithFormat:@"%d",[polygonShape
numberOfSides]];
[self setNumberOfsides:[polygonShape numberOfSides]];
}
-(void)setNumberOfsides:(int)side {
NSMutableArray *valueArray =[polygonShape pointsForPolygonInRect:[polyView
bounds] numberOfSides:side];
//NSValue *values;
CGPoint cgPoints;
[polyView pointsArray:valueArray];
NSLog(@"here");
[polyView setNeedsDisplay];
/*
for(NSValue *values in valueArray)
{
NSLog(@"here:%@",values);
//NSLog(@"Values:%@",[values CGPointValue]);
cgPoints=[values CGPointValue];
NSLog(@"%f n %f",cgPoints.x,cgPoints.y);
[polyView points:cgPoints];
[polyView numberOfSides:side];
}
for(int i=0;i<=side-1;i++)
{
//values=[valueArray objectAtIndex:i];
for(NSValue *values in valueArray)
{
NSLog(@"here:%@",values);
NSLog(@"Values:%@",[values CGPointValue]);
}
}*/
//CGPoint cgPoints=[values CGPointValue];
NSLog(@"wat up!");
}
-(void)awakeFromNib{
[polygonShape maximumNumberOfSides:12];
[polygonShape mininmumNumberOfSides:3];
CGRect rect = CGRectMake(40.0,80.0,200.0,300.0);
polyView =[[PolyView alloc]initWithFrame:rect];
//polyView=(PolyView*)self.view;
//[self.view addSubview:polyView];
[polyView numberOfSides:[polygonShape numberOfSides]];
//[polyView bound:rect];
//CGRect rect = CGRect(20.0,40.0,100.0,200.0);
//[polyView
}
- (void)dealloc {
[polygonShape release];
[PolyView release];
[super dealloc];
}
@end
/************************/
Cutomize UIView class is
//
// PolyView.m
// HelloPolygon
//
// Created by MOHIT JOSHI on 7/2/09.
// Copyright 2009 SDSU. All rights reserved.
//
#import "PolyView.h"
@implementation PolyView
@synthesize numberOfSides;
@synthesize pointsArray;
-(void)numberOfSides:(int)sides
{
numberOfSides=sides;
NSLog(@"sides");
}
-(void)bound:(CGRect)rect
{
bound=rect;
NSLog(@"bound:%@",bound);
}
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// pointsArray =[[NSMutableArray alloc]init];
NSLog(@"init");
//bounds=frame;
//NSLog(@"%@",frame);
}
return self;
}
-(void)pointsArray:(NSMutableArray*) tempArray
{
pointsArray=tempArray;
NSLog(@"here2:%@",pointsArray);
//for(NSValue *value in pointsArray)
}
-(void)points:(CGPoint)pointArray
{
points=pointArray;
//[pointsArray addObject:points];
}
-(NSMutableArray*)point {
return pointsArray;
}
- (void)drawRect:(CGRect)rect {
// Drawing code
CGRect bounds =[self bounds];
CGContextRef context= UIGraphicsGetCurrentContext();
CGContextBeginPath(context);
//NSLog(@"%@",points);
NSLog(@"polyview:%@",self);
if([ self point]!= NULL)
{
NSLog(@"%@",[self point]); //*PROBLEM IS HERE CAN NOT GET POINTS ARRAY*
NSLog(@"h");
for(NSValue *value in pointsArray) //* PROBLEM IS HERE CAN NOT GET POINTS
ARRAY*
{
NSLog(@"i");
points =[value CGPointValue];
NSLog(@"%f n %f",points.x,points.y);
CGContextMoveToPoint(context, points.x, points.y);
CGContextAddLineToPoint (context,points.x,points.y);
}
//CGContextAddLineToPoint (context, 260, 250);
CGContextClosePath (context);
[[UIColor redColor] setFill];
[[UIColor blackColor] setStroke];
CGContextDrawPath (context, kCGPathFillStroke);
NSLog(@"%@",bounds);
[[UIColor grayColor]set];
UIRectFill(bounds);
}
NSLog(@"I am here:%d",numberOfSides);
}
- (void)dealloc {
[pointsArray release];
[super dealloc];
}
@end
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
- Follow-Ups:
- Re: Help
- From: Graham Cox <email@hidden>