Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Setting] #10 - Font, Color 그리고 프로젝트 기본 세팅 했습니다. #15

Merged
merged 6 commits into from
Jan 4, 2025

Conversation

thingineeer
Copy link
Member

@thingineeer thingineeer commented Jan 3, 2025

🔗 연결된 이슈

📄 작업 내용

  • Font 세팅 (UIKit, SwiftUI)
  • Color 세팅
  • Supported Destinations only -> iOS 로 변경
  • Minimum Deployments iOS 17.0 으로 변경

💻 주요 코드 설명

UIKit 폰트 사용법

let testLabel = UILabel().then {
    $0.font = .title1b
}

SwiftUI 폰트 사용법

Text("Hello, world!")
    .font(.title1b)

Color 사용법

Text("Hello, world!")
    .foregroundStyle(.blue400)

📚 참고자료

폰트세팅

👀 기타 더 이야기해볼 점

1. 아래 디자인 시스템에 있는 title1 폰트는 title1b로 수정 했어요 (기본 애플 폰트랑 충돌 때문에)

image

2. Color 개 노가다로 넣어서 오타 있을 수도 있으니 개발하면서 함께 수정 바람.

3. 자간 행간은 프로젝트 시작 전에 Modifier로 만들거나, 구조체로 만들어서 진행 하시죠

@thingineeer thingineeer added setting 프로젝트 관련 설정 변경 시 사용 thingjin 나는명진 labels Jan 3, 2025
@thingineeer thingineeer self-assigned this Jan 3, 2025
Copy link
Collaborator

@juri123123 juri123123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 ~~~


import SwiftUI

public extension Font {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

궁금한점..... extension 앞에 public을 붙이는 이유가 몬가요?!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

실제로 모듈을 나누다 보면 접근제어자를 어디까지 해줘야 할지 고민해야 하는 상황이 생기는데, 조금 습관적으로 사용했던 것 같습니다.

저희는 모듈화 프로젝트가 아니기 때문에 이 부분은 없어도 되는 부분입니다.

import SwiftUI

public extension Font {
static var title1b: Font {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

var로 한 이유가 몬가요 ?

Copy link
Member Author

@thingineeer thingineeer Jan 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 폰트들은 Computed Property입니다. 타입어노테이션(Font) 옆에 { return } 로 만드는 게 연산 속성인 것이죠!

연산 프로퍼티는 저장 프로퍼티와 달리 저장 공간을 갖지 않고, 다른 "저장 프로퍼티"의 값을 읽어 연산을 실행하거나, 프로퍼티로 전달받은 값을 다른 프로퍼티에 저장한다고 정의되어 있습니다.

때문에 항상 var로 선언되어야 한다고 공부했습니다.

결론 static var는 연산 속성(Computed Property)이기 때문에 매번 호출 시점에서 값을 동적으로 생성하거나 반환할 수 있습니다.

참고로 여기서 static let 은 compile error가 발생합니다.

사실 짧게 설명할 수 없는 부분이라 Computed Property에 대해서 학습해 보면 좋을 것 같습니다.

Copy link
Collaborator

@hooni0918 hooni0918 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셧습니다

Copy link
Collaborator

@ChoiAnYong ChoiAnYong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

@thingineeer thingineeer merged commit 0ffca69 into juri Jan 4, 2025
@thingineeer thingineeer deleted the Setting/#10-Font,Color branch January 4, 2025 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
setting 프로젝트 관련 설정 변경 시 사용 thingjin 나는명진
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants