2011-09-28 4 views
1

아래 차트와 같은 구조를 구현하고 싶습니다. 설명 : 1. 각 블록을 클릭 할 수 있어야합니다. 2. 블록을 선택하면 강조 표시됩니다 (예 : 그림의 빨간색 블록).복합 차트 + 목표 C

저는 처음에는이 문제에 대해 Google에 답변했지만 찾을 수 없었습니다. 이것을 애니메이션에 대응시키는 "Drawing logic"은 무엇인가? Thanx 사전.

답변

3

MCSegmentedControl을 사용해야한다고 생각합니다.

here에서 가져올 수 있습니다.

+0

동의합니다. OP는 본질적으로 가변 크기 세그먼트로 분할 제어를 원합니다. – memmons

0

일반적으로 말하자면 투명 한 중간에 윤곽선이있는 이미지를 사용하고 동적 라벨을 사용하여 해당 색상 뒤에 색상이 지정된 블록을 동적으로 만듭니다. 강조 표시는 다소 까다 롭지 만 일련의 이미지 오버레이로 수행 할 수 있습니다. 막대/강조 표시의 고정 이미지를 축소하고 확장하려고 시도 할 수도 있지만 iPhone은 이미지의 불규칙한 크기를 조정합니다.

는 (항상 4 개 블록을 수 있습니까? 서로 중첩 고정 된 크기의 이미지를 사용하여 관리 할 수있는 다른 몇 가지 방법이 있습니다.)

+0

답장을위한 Thanx.About 블록을 늘릴 수 있습니다. –

0

은 아마 당신이에 대한의 CALayer를 사용하여 조사해야합니까?

+0

그건 "아마 그걸 그려야한다"고 말하는 것과 같습니다. 그게 무슨 도움 이니? – memmons

+0

@ 하르 코니 안 (Harkonian) 완전한 대답과는 거리가 있지만, 실제로는 매우 유용한 힌트라고 생각합니다. – jlehr

+0

(그리고 나라면, 올바른 방향으로 힌트를 얻는 편이 좋을 것입니다. 잘못된 해결책을 찾아야합니다.) – jlehr

0

버튼을 사용하여이 유형의 로직을 구현해야합니다. 백분율에 따라 버튼 폭을 조절하면됩니다.

그리고 사각형 모양의 버튼을 만들려면 아래 코드를 사용하고 클래스 파일에 석영 코어 프레임 워크를 가져 오는 것을 잊지 마십시오.

그리고 첫 단추와 마지막 단추는 가까운 단추와 약간 겹치기 때문에 크기를 조절하십시오.

btn.layer.cornerRadius = 8.0; 
btn.layer.borderWidth = 0.5; 
btn.layer.borderColor = [[UIColor blackColor] CGColor];