iPhone/iPad의 UI 레이블에서 굵고 기울임꼴로 설정하려면 어떻게 해야 합니까?
굵고기꼴로설정방는법하에서 굵고 로 설정하려면 ?UILabel
iPhone/iPad 서에?포럼을 검색해봤지만 아무 도움이 되지 않았습니다.누가 저를 도와주실 수 있나요?
글꼴 이름을 가지고 놀려고 하지 마십시오.글꼴 설명자를 사용하면 이름이 필요하지 않습니다.
UILabel * label = [[UILabel alloc] init]; // use your label object instead of this
UIFontDescriptor * fontD = [label.font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold
| UIFontDescriptorTraitItalic];
label.font = [UIFont fontWithDescriptor:fontD size:0];
size:0
'크기를 그대로 유지'를 의미합니다.
Swift를 사용하여 다음 확장을 시도합니다.
extension UIFont {
func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
let descriptor = self.fontDescriptor()
.fontDescriptorWithSymbolicTraits(UIFontDescriptorSymbolicTraits(traits))
return UIFont(descriptor: descriptor, size: 0)
}
func boldItalic() -> UIFont {
return withTraits(.TraitBold, .TraitItalic)
}
}
그런 다음 다음과 같이 사용할 수 있습니다.
myLabel.font = myLabel.font.boldItalic()
또는 축약과 같은 추가적인 특성을 추가할 수도 있습니다.
myLabel.font = myLabel.font.withTraits(.TraitCondensed, .TraitBold, .TraitItalic)
Swift 4에 대한 업데이트:
extension UIFont {
var bold: UIFont {
return with(traits: .traitBold)
} // bold
var italic: UIFont {
return with(traits: .traitItalic)
} // italic
var boldItalic: UIFont {
return with(traits: [.traitBold, .traitItalic])
} // boldItalic
func with(traits: UIFontDescriptorSymbolicTraits) -> UIFont {
guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else {
return self
} // guard
return UIFont(descriptor: descriptor, size: 0)
} // with(traits:)
} // extension
다음과 같이 사용합니다.
myLabel.font = myLabel.font.bold
또는
myLabel.font = myLabel.font.italic
또는
myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])
Swift 5에 대한 업데이트
extension UIFont {
var bold: UIFont {
return with(.traitBold)
}
var italic: UIFont {
return with(.traitItalic)
}
var boldItalic: UIFont {
return with([.traitBold, .traitItalic])
}
func with(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
guard let descriptor = self.fontDescriptor.withSymbolicTraits(UIFontDescriptor.SymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits)) else {
return self
}
return UIFont(descriptor: descriptor, size: 0)
}
func without(_ traits: UIFontDescriptor.SymbolicTraits...) -> UIFont {
guard let descriptor = self.fontDescriptor.withSymbolicTraits(self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptor.SymbolicTraits(traits))) else {
return self
}
return UIFont(descriptor: descriptor, size: 0)
}
}
sectionLabel.font = [UIFont fontWithName:@"TrebuchetMS-Bold" size:18];
'fontWithName' 특성 대신 설정할 수 있는 글꼴 이름 목록이 있습니다.링크는 여기에 있습니다.
@편집자가 이것을 살펴봅니다.
myLabel.font = [UIFont boldSystemFontOfSize:16.0f]
myLabel.font = [UIFont italicSystemFontOfSize:16.0f];
원하는 시간에 위의 항목 중 하나를 사용합니다.
글꼴 필드에서 문자 "T"를 눌러 레이블의 글꼴 스타일, 패밀리, 크기를 설정할 수 있습니다.
스위프트 3
굵게 표시:
let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)
기울임꼴:
let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)
iOS 7 시스템 기본 글꼴을 사용하는 경우 시스템 기본 글꼴을 유지하려면 helveticnew bold를 사용합니다.
[titleText setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16.0]];
또는 간단히 다음과 같이 부를 수 있습니다.
[titleText setFont:[UIFont boldSystemFontOfSize:16.0]];
라벨과 버튼에 볼드와 이탈릭을 모두 적용해야 하는 동일한 문제가 있습니다.다음 코드를 사용하여 이러한 효과를 얻을 수 있습니다.
myLabel.font = [UIFont fontWithName:@"Arial-BoldItalic" size:30.0];
특성을 추가하거나 제거할 수 있는 maksymilian wojakowski의 반응을 변형했습니다.
extension UIFont {
func withTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
let descriptor = self.fontDescriptor
.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits).union(self.fontDescriptor.symbolicTraits))
return UIFont(descriptor: descriptor!, size: 0)
}
func withoutTraits(_ traits:UIFontDescriptorSymbolicTraits...) -> UIFont {
let descriptor = self.fontDescriptor
.withSymbolicTraits( self.fontDescriptor.symbolicTraits.subtracting(UIFontDescriptorSymbolicTraits(traits)))
return UIFont(descriptor: descriptor!, size: 0)
}
func bold() -> UIFont {
return withTraits( .traitBold)
}
func italic() -> UIFont {
return withTraits(.traitItalic)
}
func noItalic() -> UIFont {
return withoutTraits(.traitItalic)
}
func noBold() -> UIFont {
return withoutTraits(.traitBold)
}
}
모범적인
label.font = label.font.italic().bold()
이것은 셀을 재사용할 때 유용하며 이전 셀에서 레이블에 부착한 기울임꼴을 제거하고자 할 때 유용합니다.
btn.titleLabel.font=[UIFont fontWithName:@"Helvetica neue" size:10];
btn.titleLabel.font = [UIFont boldSystemFontOfSize:btnPrev.titleLabel.font.pointSize+3];
굵은 레이블/버튼 글꼴도 사용할 수 있습니다.
예: 굵은 글씨 텍스트:
UILabel *titleBold = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 200, 30)];
UIFont* myBoldFont = [UIFont boldSystemFontOfSize:[UIFont systemFontSize]];
[titleBold setFont:myBoldFont];
예: 이탤릭체 텍스트:
UILabel *subTitleItalic = [[UILabel alloc] initWithFrame:CGRectMake(10, 35, 200, 30)];
UIFont* myItalicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];
[subTitleItalic setFont:myItalicFont];
비록 @tolbard가 제공하는 대답은 놀랍고 잘 작동하지만요!
코드 한 줄만으로 달성할 수 있는 것에 대한 확장을 만드는 것은 오버킬이 될 것이라고 생각합니다.
동일한 텍스트에 대해 굵게 표시하거나 이탤릭체로 표시할 수 있습니다.label
다음을 사용하여 글꼴 속성을 설정합니다.UIFontDescriptor
Swift 4.0을 사용하는 아래 예제에서 아래와 같이 표시됩니다.
label.font = UIFont(descriptor: UIFontDescriptor().withSymbolicTraits([.traitBold, .traitItalic])!, size: 12)
기타 옵션은 다음과 같습니다.
traitLooseLeading
traitTightLeading
traitUIOptimized
traitVertical
traitMonoSpace
traitCondensed
traitExpanded
그 상징적인 특징들이 무엇을 의미하는지에 대한 더 많은 정보를 위하여?여기에 방문
maksymilian Wojakowski의 멋진 답변 업데이트 3.
extension UIFont {
func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont? {
guard let descriptorL = self.fontDescriptor.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) else{
return nil
}
return UIFont(descriptor: descriptorL, size: 0)
}
func boldItalic() -> UIFont? {
return withTraits(traits: .traitBold, .traitItalic)
}
}
저는 최근에 UIFont API의 제한 사항과 해결 방법에 대해 블로그에 글을 올렸습니다.여기서 보실 수 있습니다.
제가 제공하는 코드로 원하는 UI 글꼴을 쉽게 얻을 수 있습니다.
UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];
그런 다음 다음 다음을 사용하여 UI 레이블(또는 기타 레이블)로 설정합니다.myLabel.font = myFont;
이 답변에서 이미 언급했듯이 올바른 글꼴 이름만 있으면 됩니다.저는 iOSFonts.com 이 어떤 이름을 사용해야 하는지 정확히 알 수 있는 가장 유용한 자료라는 것을 알게 되었습니다.
이것은 매우 간단합니다.여기 코드가 있습니다.
[yourLabel setFont:[UIFont boldSystemFontOfSize:15.0];
이게 도움이 될 겁니다.
굵게 표시된 텍스트는 다른 수준의 정보 아키텍처 방식으로 간주되는 경우가 많기 때문에 굵게 표시되고 한 줄에 규칙적으로 표시되지 않으므로 두 레이블/텍스트 보기, 하나는 규칙적이고 굵은 기울임꼴로 구분할 수 있습니다.그리고 편집기를 사용하여 글꼴 스타일을 선택합니다.
스위프트 5와 함께
스타일 = BOLD의 경우
label.font = UIFont(name:"HelveticaNeue-Bold", size: 15.0)
스타일 = 중간
label.font = UIFont(name:"HelveticaNeue-Medium", size: 15.0)
스타일 = 얇은 경우
label.font = UIFont(name:"HelveticaNeue-Thin", size: 15.0)
말씀드리고 싶은 게 있는데요
UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.bold)
UIFont.boldSystemFont(ofSize: 16)
그들은 다른 결과를 가지고 있습니다...
Swift 5용으로 업데이트되었으며 장치의 기본 크기 범주를 준수합니다.
// Bold
label.font = UIFont.systemFont(ofSize: UIFont.preferredFont(forTextStyle: .body).pointSize, weight: .bold)
// Italic
label.font = UIFont.italicSystemFont(ofSize: UIFont.preferredFont(forTextStyle: .body).pointSize)
여기에 게시된 다른 답변은 좋지만 크기가 하드 코딩된 포인트가 있습니다.
언급URL : https://stackoverflow.com/questions/4713236/how-do-i-set-bold-and-italic-on-uilabel-of-iphone-ipad
'sourcecode' 카테고리의 다른 글
프로세스 권한을 프로그래밍 방식으로 승격하시겠습니까? (0) | 2023.05.28 |
---|---|
WPF: 열/행 여백/패딩이 있는 그리드? (0) | 2023.05.28 |
도움말()이 메서드 서명을 나열하는 경우 슬래시는 무엇을 의미합니까? (0) | 2023.05.23 |
C#에서 if/else를 사용하는 것과 switch-case를 사용하는 것 사이에 큰 차이가 있습니까? (0) | 2023.05.23 |
bash에서 변수의 줄 수를 계산하려면 어떻게 해야 합니까? (0) | 2023.05.23 |