[SwiftUI] 스유로 섹션 접었다폈다 구현하기
·
🍎 Dev/구현
요즘 회사에서 스유로 리팩토링하는 작업을 담당하고 있는데, 섹션 폴딩을 구현해야할 일이 생겼었다. 찾아보면 list를 활용해서 만드는 예시 위주만 나와서 내가 구현하고 하는 것과 맞지 않았다. 내가 구현하고자 한 폴딩 부분은 디자인 가이드상 컬렉션뷰로 구현해야 나오는 뷰였기 때문에 GirdItem을 활용해서 커스텀으로 섹션을 만들어 쓰기로 했다. 마침 참고하기 좋은 해외 포스트도 발견해서 참조했다. 아직 스유에서 사용하는 propertyWrapper가 어색하다면 아래 포스팅을 참고하는 걸 추천! --- propertyWrapper 글 작업 중             1. 섹션 상태를 섹션 이름으로 구별해서 folding 기능을 토글처럼 값을 관찰하는 ObservableObject를 만든다. import S..
[백준/Swift] 21955번: Split
·
💡 알고리즘/백준
내 풀이:let numbers = readLine()!let point = numbers.count / 2var first = 0var second = 0if numbers.count % 2 == 0 { first += Int(numbers.prefix(point))! second += Int(numbers.suffix(point))!}print(first)print(second)  풀이: prefix와 suffix의 이해가 중요한 문제였다. 두 가지 모두 컬렉션에서 지정한 숫자만큼 문자열이나 숫자를 슬라이싱 해주는 역할을 한다. Prefix컬렉션의 원소를  지정한 숫자만큼 컬렉션내 앞에서부터 count만큼 반환한다.// 사용collection.prefix(n)// 예제let kia = "Ki..
[SwiftUI] @State
·
🍎 Dev/SwiftUI
@State?   - PropertyWrapper로, SwiftUI에서 변하는 변수의 상태에 따라 값을 읽어주거나 바꿔주는 역할(값 자체 X, 수단 O)을 한다. - 해당 속성을 사용할 때 변수 앞에 @State 를 붙여서 사용한다. - 상태를 변경 할 때마다 body속성이 재설정되기 때문에, 해당 state 변수를 사용하는 뷰는 변화를 감지할 때마다 자동으로 뷰를 새로 렌더링한다. - 사용자 액션에 따라 UI를 변경해주는 데에 주로 사용된다. - @State는 선언한 뷰 외에선 값을 변경할 수 없으며 (변경하려면 $를 붙인 바인딩을 이용해야한다), 그렇기 때문에 @State 변수를 활용하려면 가장 상위 뷰에서 작성하며 private 접근 제어자를 붙여야한다. ---> 접근 제어자를 붙이는 이유는 초기화..
[SwiftUI] pre/next buttons가 있는 이미지 슬라이더 구현하기
·
🍎 Dev/구현
Topic: - pre/next 버튼으로 이미지 슬라이더 작동- 이미지 슬라이더- tapGesture로 버튼 숨기기 및 드러내기- 인덱스 넘버에 따라 첫번째와 마지막 인덱스 일 때 next 또는 pre 버튼 숨기기  접근: - 이미지 슬라이드에 들어올 이미지 배열을 만들어서 tabView와 forEach를 활용해야겠다고 생각했다.// 테스트용 이미지배열 private var images: [String] = [ "image1", "image2", "image3", "image4" ] 테스트용으로 넣어둔 이미지로 확인할 예정이라, 이미지 배열은 UIKit과 똑같이 만들었다.      - tabView를 써서 슬라이드를 만들었는데, 이미지 개수에 ..
[SwiftUI] TabView page indicator 커스텀하기
·
🍎 Dev/구현
이미지 슬라이드뷰를 만들어야 했는데, 페이지 인디케이터가 애플이 제공해주는 기본 인디케이터가 아니라 커스텀을 해야했다. 참고로 인디케이터는 위와 같은 뷰가 있다면, 이미지의 순서를 나타내주는 부분에 해당한다. 피그마에 올라와 있는 인디케이트 디자인이 현재 이미지의 순서일 경우 인디케이터 형태가 바뀌는 디자인이었다. 따라서, 디자인 가이드를 충족시키기 위해서 SwiftUI에서 Tabview가 제공해주는 원형 인디케이터를 사용할 수가 없었고, custom 형식으로 직접 구현해야했다.    내가 구현해야 하는 것: 1. 이미지 슬라이더2. 일정시간 간격을 두고 슬라이더의 이미지가 바뀌어야 함3. 이미지가 바뀔 때, 해당 이미지 순서의 인디케이터 모양이 원형에서 가로로 긴 타원형으로 변경되어야 함     그래서..
[SwiftUI] NavigationView, NavigationStack, navigationTitle
·
🍎 Dev/SwiftUI
Topic:- NavigationTitle 넣기- NavigationItem 설정       SwiftUI 블로그글들을 참고하기가 가끔 애매하다고 느껴질 때가 있는데, 아무래도 애플이 계속 개선하고 있는 중이라 과거(라기엔 비교적 최근이지만)에 쓰여진 기술들 중 Deprecated 된 게 많다는 점 같다. 실제로 NavigationView를 사용해서 navigationTitle을 단 블로그 글들이 많았는데, 현재는 Deprecated 되었다. 그대신 사용할 수 있는 게 NavigationStack이다.         다른 스택들 사용하는 것처럼 NavigationStack이 끝나는 중괄호 끝에.navigationTitle("Title Text")를 붙여주면 네비게이션 타이틀이 나오게 된다. 이때, nav..