일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- scrollview
- Codable
- deadlock
- struct
- Swift
- 가상 메모리
- 오브젝트
- 비동기
- 프로세스 스케줄링
- UserDefaults
- 100 days of SwiftUI
- 알고리즘
- 상호배제
- 인프런
- async
- IOS
- forEach
- 운영체제
- Apple Developer Academy
- 앨런
- @state
- Algorithm
- 동시성
- 데드락
- COLOR
- 동기화
- core data
- decode
- SwiftUI
- Linked List
- Today
- Total
목록SwiftUI - 기초 (49)
기어가더라도 제대로
중요한 일이 발생하거나 사용자에게 알릴 필요가 있을 때 alert를 사용한다. alert를 사용하는 방식 뿐만 아니라 SwiftUI를 관통하는 개념이 하나 있다. View 는 프로그램 상태의 함수이다. 이게 무슨 말이냐 하면, 뷰가 처음 정의된 대로 정적인 모습을 유지하는 것이 아닌, 뷰가 프로그램의 내부의 상태 변화에 따라 결과값이 변하는 함수에 비유한 것이다. 이런 철학에 빗대어 보았을 때 alert 를 호출하는 방법이 재밌다. 기존 방식에선 "경고창을 보여줘" 라는 투의 명령을 사용했다면, 경고창을 생성하고 어느 조건에 보여줄 지 설정해 놓는다. 그리고 그 조건이 충족되었을 때 경고창을 띄우는 방식이다. 경고 조건 @State private var showingAlert = false 위 state..
모든 버튼은 저마다의 역할을 지니고 있다. 클로저나 함수로 역할 설정 가능 버튼이 눌렸을 때 실행하는 동작 Button("Delete selection") { print("Now deleting…") .... struct ContentView: View { var body: some View { Button("Delete selection", action: executeDelete) } func executeDelete() { print("Now deleting…") } } 버튼의 외형 설정 - role, style "버튼이 하는 일이 파괴적이다" 라고 역할을 부여 그에 따른 외형도 변함 style의 role과 조합하여 사용 가능 너무 많은 prominent button 은 사용하지 않는 것을 권장 La..
그라데이션은 컬러와 마찬가지로 그 자체로 뷰입니다. 그라데이션의 3요소 color의 배열 Size와 direction 정보 그라데이션의 타입 선형 그라데이션 - LinearGradient LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom) 시작점과 끝점이 있습니다. 색상과 각각의 색상이 얼마나 유지될지를 정할 수도 있습니다. 그라데이션이 유지되는 공간이 중앙에 잠깐 나타납니다. LinearGradient(gradient: Gradient(stops: [ Gradient.Stop(color: .white, location: 0.45), Gradient.Stop(color: .black..