Note that there are some explanatory texts on larger screens.

plurals
  1. POIos 6 drawing app keeps stretching after strokes are made
    primarykey
    data
    text
    <p>Im currently making a drawing app, which I'm using a story board so i can implement a game with it was well. The drawingViewController's UIimageViewer only takes up about 3/4s of the screen, because the other 1/4 is used to keep buttons on and a sentence. However, every time I draw a line the image then gets stretched along the y-axis. My question is is there anything I can do to make it no longer stretch at all. Or would it be better if i make the UIimageViewer take up the whole screen and put the buttons over the top of that? I will also need to add a label and text box over the top of the UIimageview? Im pretty new with programming on iOS 6 so any help would be greatly appreciated. </p> <pre><code>#import "DrawViewController.h" @interface DrawViewController () @end @implementation DrawViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { red = 0.0/255.0; green = 0.0/255.0; blue = 0.0/255.0; brush = 10.0; opacity = 1.0; [super viewDidLoad]; // Do any additional setup after loading the view. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)pencilPressed:(id)sender { UIButton * PressedButton = (UIButton*)sender; switch(PressedButton.tag) { case 0: red = 0.0/255.0; green = 0.0/255.0; blue = 0.0/255.0; break; case 1: red = 105.0/255.0; green = 105.0/255.0; blue = 105.0/255.0; break; case 2: red = 255.0/255.0; green = 0.0/255.0; blue = 0.0/255.0; break; case 3: red = 0.0/255.0; green = 0.0/255.0; blue = 255.0/255.0; break; case 4: red = 102.0/255.0; green = 204.0/255.0; blue = 0.0/255.0; break; case 5: red = 102.0/255.0; green = 255.0/255.0; blue = 0.0/255.0; break; case 6: red = 51.0/255.0; green = 204.0/255.0; blue = 255.0/255.0; break; case 7: red = 160.0/255.0; green = 82.0/255.0; blue = 45.0/255.0; break; case 8: red = 255.0/255.0; green = 102.0/255.0; blue = 0.0/255.0; break; case 9: red = 255.0/255.0; green = 255.0/255.0; blue = 0.0/255.0; break; } } - (IBAction)eraserPressed:(id)sender { red = 255.0/255.0; green = 255.0/255.0; blue = 255.0/255.0; opacity = 1.0; } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { mouseSwiped = NO; UITouch *touch = [touches anyObject]; lastPoint = [touch locationInView:self.view]; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { mouseSwiped = YES; UITouch *touch = [touches anyObject]; CGPoint currentPoint = [touch locationInView:self.view]; UIGraphicsBeginImageContext(self.view.frame.size); [self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y); CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brush ); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0); CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeNormal); CGContextStrokePath(UIGraphicsGetCurrentContext()); self.tempDrawImage.image = UIGraphicsGetImageFromCurrentImageContext(); [self.tempDrawImage setAlpha:opacity]; UIGraphicsEndImageContext(); lastPoint = currentPoint; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if(!mouseSwiped) { UIGraphicsBeginImageContext(self.view.frame.size); [self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), brush); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, opacity); CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); CGContextStrokePath(UIGraphicsGetCurrentContext()); CGContextFlush(UIGraphicsGetCurrentContext()); self.tempDrawImage.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); } UIGraphicsBeginImageContext(self.mainImage.frame.size); [self.mainImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) blendMode:kCGBlendModeNormal alpha:1.0]; [self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) blendMode:kCGBlendModeNormal alpha:opacity]; self.mainImage.image = UIGraphicsGetImageFromCurrentImageContext(); self.tempDrawImage.image = nil; UIGraphicsEndImageContext(); } @end </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload