Notice
Recent Posts
Recent Comments
Link
투케이2K
249. (ios/swift) UIFontPickerViewController 사용해 폰트 설정 팝업창 호출 및 UILabel 라벨 폰트 동적 변경 실시 본문
IOS
249. (ios/swift) UIFontPickerViewController 사용해 폰트 설정 팝업창 호출 및 UILabel 라벨 폰트 동적 변경 실시
투케이2K 2022. 11. 7. 13:39[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [테스트 메인 함수 정의 실시]
func testMain() {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> testMain() :: 테스트 함수 시작 실시]")
print("====================================")
print("")
/*
// -----------------------------
[요약 설명]
// -----------------------------
1. UIFontPickerViewController 는 ios 13 부터 사용할 수 있습니다
// -----------------------------
*/
// [비동기 처리 수행]
DispatchQueue.main.async {
if #available(iOS 13.0, *) {
let configuration = UIFontPickerViewController.Configuration()
configuration.includeFaces = true // [bold, italic 체 옵션 추가]
let fontPicker = UIFontPickerViewController(configuration: configuration)
fontPicker.delegate = self // [딜리게이트 지정]
self.present(fontPicker, animated: true, completion: nil)
}
else {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> testMain() :: 폰트 변경 실패 [ios 13 미만]]")
print("====================================")
print("")
}
}
}
// MARK: - [extension 딜레게이트 정의 실시]
extension A_Intro: UIFontPickerViewControllerDelegate {
@available(iOS 13.0, *)
func fontPickerViewControllerDidPickFont(_ viewController: UIFontPickerViewController) {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> fontPickerViewControllerDidPickFont() :: 폰트 선택 확인]")
print("====================================")
print("")
// [라벨 폰트 설정 변경 실시]
guard let descriptor = viewController.selectedFontDescriptor else { return }
let font = UIFont(descriptor: descriptor, size: 17)
self.labelText.font = font
}
@available(iOS 13.0, *)
func fontPickerViewControllerDidCancel(_ viewController: UIFontPickerViewController) {
print("")
print("====================================")
print("[\(self.ACTIVITY_NAME) >> fontPickerViewControllerDidCancel() :: 폰트 선택 취소]")
print("====================================")
print("")
// [창 닫기]
self.dismiss(animated: false)
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments