카테고리 없음

swift 텍스트 조정에 대해 알아보자

kingarthur 2024. 9. 24. 21:51

은근 텍스트 조정할 일이 많아서 남긴다. 

 

 let textLabel: UILabel = {
        let subtitleLabel = UILabel()
        subtitleLabel.translatesAutoresizingMaskIntoConstraints = false

        let mainTitle = "안녕\n"
        let subTitle = "스위프트"

        // 줄 간격 설정
      //  let paragraphStyle = NSMutableParagraphStyle()
    //    paragraphStyle.lineSpacing = -100 // 줄 간격을 0으로 설정하여 위아래 공백을 최소화
        
        // 메인 타이틀 속성
        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.paragraphSpacingBefore = -20 // 두 텍스트 블록 간 간격을 좁히기

        // 첫 번째 텍스트 (메인 타이틀)
        let mainTitleAttributes: [NSAttributedString.Key: Any] = [
            .font: UIFont.systemFont(ofSize: 100, weight: .bold),
            .foregroundColor: UIColor.white,
//            .paragraphStyle: paragraphStyle // 줄 간격 설정
//            .baselineOffset: 0 // 가로 넓이 자체 줄이기 텍스트 크기 유지
                .paragraphStyle: paragraphStyle

        ]
        let mainTitleAttributedString = NSAttributedString(string: mainTitle, attributes: mainTitleAttributes)

        // 두 번째 텍스트 (서브타이틀)
        let subtitleAttributes: [NSAttributedString.Key: Any] = [
            .font: UIFont.systemFont(ofSize: 20),
            .foregroundColor: UIColor.white,
//            .paragraphStyle: paragraphStyle, // 줄 간격 설정
            .paragraphStyle: paragraphStyle // 위아래간격 적용
        ]
        let subtitleAttributedString = NSAttributedString(string: subTitle, attributes: subtitleAttributes)

        // 두 텍스트 사이의 공백 조정
        let attributedString = NSMutableAttributedString()
        attributedString.append(mainTitleAttributedString)
        attributedString.append(subtitleAttributedString)

        subtitleLabel.attributedText = attributedString
        subtitleLabel.numberOfLines = 0
        subtitleLabel.textAlignment = .center

        return subtitleLabel
    }()

 

은근 찾아보는데 애먹었다... ㅋㅋㅋㅋ 나는 위아래 블럭간 간격을 좁히고 싶었는데 자꾸 텍스트 자간 간격줄이는거 또는 블록자체 가로를 줄이는거만 나와서 ㅋㅋㅋ 

다음부터 잘 사용하자