3

- LayoutView に 3 つの正方形を描画します

- (void)drawRect:(CGRect)rect

    self.room1 = [UIBezierPath bezierPathWithRect:CGRectMake(81, 10, 60, 60)];
    [self.normalColor setFill];
    [self.room1 fill];
    [[UIColor blackColor]setStroke];
    self.room1.lineWidth = 1;
    [self.room1 stroke];

次に、正しい UIBezierPath を見つけます

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touch here");

    UITouch *touch = [touches anyObject];
    CGPoint touchPoint = [touch locationInView:self];
    if ([self.room1 containsPoint:touchPoint])
    {
        // do stuff
        NSLog(@"room1 %@" , self.room1);

        [[UIColor redColor] setFill];
        [self.room1 fill];
        [self setNeedsDisplay];
    } 
}

これは機能しています。部屋1とログプリント「room1」に触れます

しかし、どうすれば room1 の色を変更できますか?

現時点ではエラーが発生します

: CGContextSetFillColorWithColor: 無効なコンテキスト 0x0。これは重大なエラーです。...

ご協力いただきありがとうございます。

4

1 に答える 1