2011-11-13 4 views
0

저는 처음부터 UISlider를 만들고 있습니다. 나는 아래의 코드를 사용하여 않은 둥근 사각형을 만들기 시작 : 나는 둥근 사각형을 만들기 위해 몇 가지 다른 옵션을 보았다 그러나 이것은 가장 빠른 방법이라고 생각UIBezierPath는 이동 가능한 둥근 사각형을 만드는 가장 좋은 방법입니까?

CGRect frame = CGRectMake(10, 10, self.frame.size.width, 10); 

UIBezierPath* path = [UIBezierPath bezierPathWithRoundedRect:frame cornerRadius:10.0]; 
[[UIColor blueColor] setFill]; 
[path fill]; 

. UIBezierPath를 사용하여 만드는 데 제한이 있습니까? 즉, 슬라이더는 터치 이벤트가 발생할 때 움직일 수 있어야하므로 BezierPath의 가운데 속성을 변경하고 싶습니다. 이것이 가능한가?

답변

0

슬라이더 위치를 변경해야 할 때마다 베 지어 경로를 다시 만들거나 CGContext의 변형 행렬을 사용하여 다른 위치에 그려야합니다.

슬라이더의 움직이는 부분에 CALayer를 사용하는 것이 좋습니다. 슬라이더의 채널을 view.layer에 그리고 슬라이더의 "엄지"를 그리는 하위 레이어를 추가합니다. 그런 다음 이동해야 할 때 엄지 손가락 레이어의 위치를 ​​변경할 수 있습니다.

+0

감사합니다. 대신 CGRect를 사용한다면 매번 사각형을 다시 그리거나 변형시켜야합니까? – Mahir

+0

미안하지만, 나는 그것이 막연한 묘사임을 깨달았다. CGContextMoveToPoint 및 CGContextAddArcToPoint와 같은 메서드를 사용하는 것이 었습니다. – Mahir

+0

죄송합니다. 해당 항목이 무엇인지 모르겠습니다. – Mahir

관련 문제