2009-09-03 5 views
0

두 개의 UILabels가 있습니다. 내가 다른 쪽 꼭대기에 겹치기를 원한다. "아래"와 "위에"레이블을 부릅니다. 아래 C E G UILabel 질문. 겹쳐진 UILabels 정렬하기

: "위에"B에서 D의 F

UILabel의 그 텍스트가 빨간색으로 그려진 것 위에

. '아래'는 파란색으로 표시됩니다. 시각 효과는 연속되는 문자간에 색상이 번갈아 가며 나타납니다.

이 문제를 해결하기 위해 각 라벨의 텍스트를 정확하게 정렬하는 데 사용할 수있는 컨트롤은 무엇이 있습니까?

건배, 더그

답변

0

나는 fbrereton에 동의합니다. 이것은 목표를 달성하는 매우 어려운 방법 같습니다. NSString UIKit Additions을 확인하여 자신의 문자열을 그리는 방법과 자신의 맞춤형으로 문자를 직접 배치하는 방법을 알아보십시오 -drawRect:. 당신은 훨씬 더 큰 통제력을 가지게 될 것이고 코드는 그렇게 복잡해서는 안됩니다. iPhone은 아주 좋은 레이아웃 지원 기능을 제공하지 않지만 (Mac과 다른 기능은 없습니다),이 간단한 기능을 사용하면 너무 나빠서는 안됩니다.

+0

차갑다. NSString UIKit 포인터 주셔서 감사합니다. – dugla

0

당신은 당신이 그들 사이에 단지 공간을 희망하는 것처럼 그렇지 않으면 문자가 정확히 일치하지 않습니다, 당신이 사용하는 글꼴은 고정 폭 폰트인지 확인해야합니다. (나는 모노 스페이스 인 아이폰 OS에서 사용할 수있는 타이프라이터 폰트가 있다고 믿는다.) 또한 underLabel에 접두사를 붙여야한다.

위에 다른 하나 UILabel를 매핑하려면 시도 :

overLabel.opaque = NO; // so you can see what is under overLabel 
overLabel.textColor = [UIColor redColor]; 
overLabel.backgroundColor = [UIColor clearColor]; 
underLabel.frame = overLabel.frame; 
underLabel.textColor = [UIColor blueColor]; 

참고 underLabel 후자의 프레임이 넓은 때문에 overLabel의 프레임에 걸리는 위의 코드에; 그 반대의 경우 overLabel가 잘립니다.

나는이 특정한 고양이를 피부에 더 좋은 방법으로 내기를 베팅한다고 말하고 있습니다. 이 솔루션은 나에게 "둥근 못, 사각형 구멍"을 느낀다.