2016-10-10 4 views
1

매우 큰 글꼴 (크기 240)에서 두 번째 카운트 다운을 보여주는 UILaber를 사용하고 있습니다. 표시된 문자열은 "xxx.xx"로 형식화되며 x는 0-9 문자입니다. 나는 문자를 점선으로 표시하는 문자열에 점자 표시 문자 (.)를 표시하고 싶습니다. 레이블에서 .Center로 textAlignment를 사용하지만 일부 문자열은 실제 표시된 길이가 다르므로 문자열이 업데이트 될 때 도트 문자가 왼쪽 및 오른쪽으로 이동합니다. F.x. "1"의 textContainer는 "8"보다 작습니다.UILabel 텍스트를 특정 문자에 정렬

이런 종류의 문자 정렬을 수행 할 수 있습니까?

Center aligened UILabel

+2

이 질문에 대한 대답은 아니지만 여기에 대한 대안이 있습니다. 두 개의 레이블을 사용하십시오. 하나는 3 개의 정수와 두 개의 소수점 숫자입니다. 두 개의 레이블 사이에 도트 이미지 (또는 점을 찍고 싶음)를 넣으십시오. 그런 다음 점을 세로로 정렬하고 점의 왼쪽에 전체 숫자 레이블을 오른쪽 정렬하고 점의 오른쪽에 분수 레이블을 왼쪽 정렬 할 수 있습니다. – keithbhunter

답변

2

흥미로운 질문 메이트 :

아래 솔루션을 검색 할 수 있습니다 :

Storyboard using Stacks

기본적으로 내가 여기했던 것은 :

  1. 스토리 보드 내가 사용 호 안에 3 개의 수직 스택 뷰를 찍었습니다. 가로 스택보기.
  2. 두 번째 세로 스택보기를 정적 너비로 가운데 정렬하고 그에 따라 다른 스택보기가 조정됩니다.
  3. 나머지 제약 사항에 대한 스크린 샷을 따라 가실 수 있습니다.

레이블에 제약이 없으며 필요에 따라 텍스트를 정렬하십시오.

건배! labelDot | |

0
  1. 함께 레이블 세 ..
  2. LABEL1 첨부 바로 LABEL1를 정렬하여 XX.XXX
  3. 일치한다 라벨 2, 당신의 labelDot를 해결, 당신의 라벨 2 정렬 왼쪽
0
let attributedStringOne = NSAttributedString.init(string: "XXX", attributes: [NSAttributedStringKey.baselineOffset: 0]) 
let attributedStringTwo = NSAttributedString.init(string: ".", attributes: [NSAttributedStringKey.baselineOffset: label.frame.height/4]) 
let attributedText = NSMutableAttributedString.init() 
attributedText.append(attributedStringOne) 
attributedText.append(attributedStringTwo) 

label.attributedText = attributedText 

기본 설정NSNumber 유형입니다. 그래서 당신은 당신이 원하는만큼을베이스 라인에서 설정할 수 있습니다.