[attention greenhorn] Hallo,
ich fange gerade erst an mit objective-c und arbeite mich zur Zeit durch dieses Werk hier:
openbook.galileocomputing.de/a…phone_und_ipad/index.html
In Kapitel 3 soll nun ein kleiner Wecker mit Hilfe von CoreGraphics programmiert werden.
Dazu wird eine Ellipse gezeichnet und anschließend sollen die einzelnen Punkte und Striche für die Minuten und Stunden außen rum gezeichnet werden.
Und genau da liegt mein Problem, die werden im Simulator nicht angezeigt. Ich habe über Log Ausgaben geschaut ob er durch die Schleife durchläuft was er sauber 60 mal macht. Dennoch wird keins der Elemente angezeigt.
Nachdem mein eigener Code nicht funktioniert hat habe ich den von Github zu diesem Buch genommen, allerdings funktioniert der auch nicht, es tritt das selbe Problem auf und ich finde keine Lösung dazu.
Ist bestimmt ganz auffällig und ich bin einfach zu blöd es zu finden
Hier die Methode dazu:
Alles anzeigen
[/attention greenhorn]
ich fange gerade erst an mit objective-c und arbeite mich zur Zeit durch dieses Werk hier:
openbook.galileocomputing.de/a…phone_und_ipad/index.html
In Kapitel 3 soll nun ein kleiner Wecker mit Hilfe von CoreGraphics programmiert werden.
Dazu wird eine Ellipse gezeichnet und anschließend sollen die einzelnen Punkte und Striche für die Minuten und Stunden außen rum gezeichnet werden.
Und genau da liegt mein Problem, die werden im Simulator nicht angezeigt. Ich habe über Log Ausgaben geschaut ob er durch die Schleife durchläuft was er sauber 60 mal macht. Dennoch wird keins der Elemente angezeigt.
Nachdem mein eigener Code nicht funktioniert hat habe ich den von Github zu diesem Buch genommen, allerdings funktioniert der auch nicht, es tritt das selbe Problem auf und ich finde keine Lösung dazu.
Ist bestimmt ganz auffällig und ich bin einfach zu blöd es zu finden
Hier die Methode dazu:
Quellcode
- - (void)drawRect:(CGRect)inRectangle {
- CGContextRef theContext = UIGraphicsGetCurrentContext();
- CGRect theBounds = self.bounds;
- CGFloat theRadius = CGRectGetWidth(theBounds) / 2.0;
- CGContextSaveGState(theContext);
- CGContextSetRGBFillColor(theContext, 1.0, 1.0, 1.0, 1.0);
- CGContextAddEllipseInRect(theContext, theBounds);
- CGContextFillPath(theContext);
- CGContextAddEllipseInRect(theContext, theBounds);
- CGContextClip(theContext);
- if([self respondsToSelector:@selector(tintColor)]) {
- UIColor *theColor = self.tintColor;
- CGContextSetStrokeColorWithColor(theContext, theColor.CGColor);
- CGContextSetFillColorWithColor(theContext, theColor.CGColor);
- }
- else {
- CGContextSetRGBStrokeColor(theContext, 0.25, 0.25, 0.25, 1.0);
- CGContextSetRGBFillColor(theContext, 0.25, 0.25, 0.25, 1.0);
- }
- CGContextSetLineWidth(theContext, theRadius / 20.0);
- CGContextSetLineCap(theContext, kCGLineCapRound);
- for(NSInteger i = 0; i < 60; ++i) {
- CGFloat theAngle = i * M_PI / 30.0;
- if(i % 5 == 0) {
- CGFloat theInnerRadius = theRadius * (i % 15 == 0 ? 0.7 : 0.8);
- CGPoint theInnerPoint = [self pointWithRadius:theInnerRadius angle:theAngle];
- CGPoint theOuterPoint = [self pointWithRadius:theRadius angle:theAngle];
- CGContextMoveToPoint(theContext, theInnerPoint.x, theInnerPoint.y);
- CGContextAddLineToPoint(theContext, theOuterPoint.x, theOuterPoint.y);
- CGContextStrokePath(theContext);
- }
- else {
- CGPoint thePoint = [self pointWithRadius:theRadius * 0.95 angle:theAngle];
- CGContextAddArc(theContext,thePoint.x, thePoint.y, theRadius / 40.0, 0.0, 2 * M_PI, YES);
- CGContextFillPath(theContext);
- }
- }
- [self drawClockHands];
- CGContextRestoreGState(theContext);
- }
[/attention greenhorn]