UILabels에서 텍스트의 기준선을 정렬해야합니다. 현재 내가하고있는 것은 텍스트가 포함 된 UILabels의 기준선을 정렬하는 것이며 두 레이블의 텍스트 글꼴 크기가 다른 경우 UILabels 기준선이 정렬되지만 텍스트의 기준이 잘못 정렬됩니다 (작은 여백으로 정렬되지 않음). 어긋난). 레이블은 사용자 정의 UIView 하위 클래스에 포함되므로 self
은 포괄적 인 UIView를 참조합니다.iOS에서 UILabels 텍스트의 기준선을 다른 글꼴 크기로 정렬하는 방법은 무엇입니까?
여기에 관련 코드를 아래에 링크 된 이미지의 aligment에서
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
self.mySmallLabel.frame = CGRectMake(0,
self.bounds.size.height - self.mySmallLabel.bounds.size.height,
self.mySmallLabel.bounds.size.width,
self.mySmallLabel.bounds.size.height);
self.myBigLabel.frame = CGRectMake(self.mySmallLabel.frame.origin.x + self.mySmallLabel.bounds.size.width,
self.bounds.size.height - self.myBigLabel.bounds.size.height,
self.myBigLabel.bounds.size.width,
self.myBigLabel.bounds.size.height);
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
이 코드의 결과이다.
당신이 볼 수 있듯이
는 UILabel의베이스 라인이 정렬에도 불구하고, 텍스트의 기준선은 소폭 잘못 정렬됩니다. 텍스트의 기준선을 동적으로 정렬하려면 어떻게해야합니까 (글꼴 크기가 런타임에 변경 될 수 있기 때문에)?
자동 레이아웃을 사용하는 모든 버전? – adib
자동 레이아웃 버전은 쉽습니다 : 두 개의 레이블을'NSLayoutAttributeBaseline' (또는 당신이 무엇을 할 것인지에 따라'NSLayoutAttributeLastBaseline' 또는'NSLayoutAttributeFirstBaseline')로 정렬하면됩니다. –