에 그려진 UIBezierPath
에 선 대시 패턴을 적용하려고합니다. 나는 자바 스크립트를 사용하기 전에 웹에서이 일을했고 나는 특정 배열 값의 설정은 아래의 결과를 얻었다 :두 장치의 라인 대시 패턴 길이의 차이
{ var Stroke=[{'type':[{"LONG_DASH_DOT_DOT":"8,2,1,2,1,2"}]}]};
다음과 같이 내가 목표 - C의 대시 패턴을 그릴 같은 배열을 사용 :
shapeLayerForm.lineDashPattern = [NSArray arrayWithObjects:[NSNumber numberWithInt:8],[NSNumber numberWithInt:2],[NSNumber numberWithInt:1],[NSNumber numberWithInt:2], [NSNumber numberWithInt:1],[NSNumber numberWithInt:2], nil];
이제 첫번째 샷에서 맥이고 두 번째는시오에서이다. 두 모양의 치수는 동일합니다. 보시다시피, 맥의 사각형의 길이에있는 대시의 수는 약 4 개이지만 iPad의 사각형에서는 너무 많습니다. 대시 길이의 차이는 두 장치의 해상도 때문이라고 생각하지만 확실하지 않습니다. 또한이 문제를 해결하는 방법을 알고 싶습니다.
CALayer Reference for .contentsScale 예이 코드는 UIView 하위에있다. 그러나 contentScale의 정확한 값을 어떻게 알 수 있습니까? 또한 shapeLayer.contentsScale = 500.0 – blancos
코드를 추가해야합니다. 기술적으로 2.0 (망막) 또는 3.0 (6+), 뭔가 다른 일이 벌어지고있는 것 같아요, shapeLayerForm은 CAShapeLayer입니다, 맞습니까? 그리고 당신은 그 층의 규모를 바꾸고 있습니까? –