@Binding @Binding은 다른 뷰가 소유한 데이터에 대한 참조를 만드는 프로퍼티 래퍼이다. 마치 포인터처럼 실제 데이터를 직접 소유하지 않고 데이터를 참조만 한다. 양방향 데이터 바인딩// 상위 뷰@State private var score: Int = 0// 하위 뷰로 전달ChildView(score: $score)// 하위 뷰@Binding var score: Int 하위 뷰에서 값을 변경하면 상위 뷰의 값도 자동으로 변경되고, 상위 뷰에서 값을 변경하면 하위 뷰의 값도 자동으로 변경된다. ✅ 바인딩을 전달할 땐 $를 붙여서 전달한다.init(someValue: Binding = .constant(defaultValue)) { _someValue = someValue}✅ 생성자를 사용해서..
@State @State는 SwiftUI에서 뷰의 상태를 관리하기 위한 속성 래퍼이다. @State는 뷰의 상태 변화를 감지하고, 상태가 변경되면 자동으로 뷰를 다시 렌더링하게 한다. 간단한 예제코드로 알아보자.import SwiftUIstruct StarButtonView: View { private var isTapped: Bool = false var body: some View { Button(action: { self.isTapped.toggle() }, label: { Image(systemName: "star.fill") .foregroundStyle(isTapped ? .yellow..
SwiftUI에서 Stack은 UI요소를 그룹화하고 배치하는 데 사용되는 기본적인 레이아웃 컨테이너이다. HStack (Horizontal Stack)SwiftUI에서 사용되는 수평 스택이다. ✅ 자식 뷰를 수평으로 배열한다.✅ 기본적으로 중앙 정렬되지만, alignment 매개변수로 변경 가능하다.✅ spacing 매개변수로 요소 간 간격을 조절할 수 있다.✅ 주로 가로로 나열된 UI요소들(ex: 툴바, 버튼 그룹 등)을 만들 때 사용된다. .top : 자식 뷰들을 HStack의 상단에 정렬한다..center : 자식 뷰들을 HStack의 수직 중앙에 정렬한다..bottom : 자식 뷰들을 HStack의 하단에 정렬한다..firstTextBaseline : 텍스트의 첫 번째 기준선을 기준으로 정렬한다..
Modifier?Modifier는 SwiftUI에서 뷰의 모양과 동작을 수정하는 메소드이다.✔️체이닝 기능 : 여러 모디파이어를 연결해 사용할 수 있다.✔️ 순서가 중요하다 ➡️ 적용 순서에 따라 결과가 달라질 수 있음.✔️ 새로운 뷰를 반환한다 : 각 모디파이어는 수정된 새로운 뷰를 반환한다.✔️ 크기, 색상, 폰트, 애니메이션 등 다양한 속성을 조정할 수 있다. UIkit VS SwiftUI1. UIKitlet textLabel: UILabel = { let label = UILabel() label.text = "Swift UI" label.frame = CGRect(x: 0, y: 0, width: 200, height: 100) label.font = UIFont.syste..