嗨,我畫了一條線,並檢測線被觸摸「觸摸移動」。 這工作不錯,但黃色的部分被取爲線 繪製沒有fillColor的CAShapeLayer層
我需要刪除圖像的黃色部分..... 這是一個被稱爲組件的FillColor屬性的一部分,我給你這個屬性爲nil,但仍然被視爲行
這的一部分是我工作的代碼:
self.path = [UIBezierPath bezierPath];
[self.path moveToPoint:CGPointMake(10, 150)];
[self.path addCurveToPoint:CGPointMake(110, 150) controlPoint1:CGPointMake(40, 100) controlPoint2:CGPointMake(80, 100)];
[self.path addCurveToPoint:CGPointMake(210, 150) controlPoint1:CGPointMake(140, 200) controlPoint2:CGPointMake(170, 200)];
[self.path addCurveToPoint:CGPointMake(310, 150) controlPoint1:CGPointMake(250, 100) controlPoint2:CGPointMake(280, 100)];
//[self.path addCurveToPoint:CGPointMake(310, 150) controlPoint1:CGPointMake(250, 100) controlPoint2:CGPointMake(280, 100)];
self.layer = [CAShapeLayer layer];
self.layer.lineWidth = 10;
self.layer.strokeColor = [UIColor redColor].CGColor;
self.layer.fillColor = [UIColor yellowColor].CGColor;
self.layer.path = self.path.CGPath;
self.layer.shadowOffset = CGSizeZero;
self.layer.lineCap = kCALineCapRound;
self.layer.fillRule = @"non-zero";
[self.view.layer addSublayer: self.layer];
此屬性:
self.layer.fillColor = [UIColor yellowColor].CGColor;
觸摸事件:
-(void)DetectTouchedDraw :(NSSet *)touches withEvent:(UIEvent *)event
{
for (UITouch *touch in touches)
{
CGPoint touchLocation = [touch locationInView:self.view];
if ([self.path containsPoint:touchLocation]) {
NSLog(@": %@",@"Touched");
}
}
}
我已經嘗試設置爲零,顏色並沒有什麼表示,只是紅線,這是正確的,但觸摸移動,返回真會在哪裏黃色部分.... 是否有可能刪除或初始化該行..沒有這部分圖? 在此先感謝
閱讀更多關於這一切請註明您的代碼的觸摸操作部分;目前尚不清楚你遇到的問題是什麼。 – 2014-10-08 18:30:44
嗨,諾亞·威瑟斯彭,我只是包括觸摸事件被稱爲的「touchesMoved」事件 – lyons 2014-10-08 19:28:51
我的問題是,黃色的部分被檢測爲圖 的一部分,儘管分配給空將fillColor – lyons 2014-10-08 19:38:30