본문 바로가기
[SwiftUI] 스유로 섹션 접었다폈다 구현하기 요즘 회사에서 스유로 리팩토링하는 작업을 담당하고 있는데, 섹션 폴딩을 구현해야할 일이 생겼었다. 찾아보면 list를 활용해서 만드는 예시 위주만 나와서 내가 구현하고 하는 것과 맞지 않았다. 내가 구현하고자 한 폴딩 부분은 디자인 가이드상 컬렉션뷰로 구현해야 나오는 뷰였기 때문에 GirdItem을 활용해서 커스텀으로 섹션을 만들어 쓰기로 했다. 마침 참고하기 좋은 해외 포스트도 발견해서 참조했다. 아직 스유에서 사용하는 propertyWrapper가 어색하다면 아래 포스팅을 참고하는 걸 추천! --- propertyWrapper 글 작업 중             1. 섹션 상태를 섹션 이름으로 구별해서 folding 기능을 토글처럼 값을 관찰하는 ObservableObject를 만든다. import S.. 2024. 6. 21.
[백준/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.. 2024. 6. 17.
[SwiftUI] @State @State? - PropertyWrapper로, SwiftUI에서 변하는 변수의 상태에 따라 값을 읽어주거나 바꿔주는 역할(값 자체 X, 수단 O)을 한다. - 해당 속성을 사용할 때 변수 앞에 @State 를 붙여서 사용한다. - 상태를 변경 할 때마다 body속성이 재설정되기 때문에, 해당 state 변수를 사용하는 뷰는 변화를 감지할 때마다 자동으로 뷰를 새로 렌더링한다. - 사용자 액션에 따라 UI를 변경해주는 데에 주로 사용된다. - @State는 선언한 뷰 외에선 값을 변경할 수 없으며 (변경하려면 $를 붙인 바인딩을 이용해야한다), 그렇기 때문에 @State 변수를 활용하려면 가장 상위 뷰에서 작성하며 private 접근 제어자를 붙여야한다. ---> 접근 제어자를 붙이는 이유는 초기화 단.. 2024. 5. 22.
[SwiftUI] pre/next buttons가 있는 이미지 슬라이더 구현하기 Topic: - pre/next 버튼으로 이미지 슬라이더 작동- 이미지 슬라이더- tapGesture로 버튼 숨기기 및 드러내기- 인덱스 넘버에 따라 첫번째와 마지막 인덱스 일 때 next 또는 pre 버튼 숨기기  접근: - 이미지 슬라이드에 들어올 이미지 배열을 만들어서 tabView와 forEach를 활용해야겠다고 생각했다.// 테스트용 이미지배열 private var images: [String] = [ "bottle_coffee", "new_menu", "main_event_bossam2", "new_menu" ] 테스트용으로 넣어둔 이미지로 확인할 예정이라, 이미지 배열은 UIKit과 똑같이 만들었다.      - tabView를 써.. 2024. 5. 16.
[SwiftUI] TabView page indicator 커스텀하기 프로젝트 진행 중 내가 맡은 ui에서 슬라이드뷰를 만들어야 했는데,    피그마에 올라와 있는 디자인 가이드가 위 이미지와 같았다. 따라서 SwiftUI에서 Tabview가 제공해주는 원형 인디케이터를 사용할 수가 없었고, custom 형식으로 직접 구현해야했다.    내가 구현해야 하는 것: 1. 이미지 슬라이더2. 일정시간 간격을 두고 슬라이더의 이미지가 바뀌어야 함3. 이미지가 바뀔 때, 해당 이미지 순서의 인디케이터 모양이 원형에서 가로로 긴 타원형으로 변경되어야 함     그래서 https://www.youtube.com/watch?v=uo8gj7RT3H8  위 영상을 참고하여 코드를 작성했었다.iOS 15기준으로 위 영상의 코드로 구현을 하면 index가 0에서 1을 넘어갈 경우 외에는 슬라이.. 2024. 4. 25.
[SwiftUI] NavigationView, NavigationStack, navigationTitle Topic:- NavigationTitle 넣기- NavigationItem 설정       SwiftUI 블로그글들을 참고하기가 가끔 애매하다고 느껴질 때가 있는데, 아무래도 애플이 계속 개선하고 있는 중이라 과거(라기엔 비교적 최근이지만)에 쓰여진 기술들 중 Deprecated 된 게 많다는 점 같다. 실제로 NavigationView를 사용해서 navigationTitle을 단 블로그 글들이 많았는데, 현재는 Deprecated 되었다. 그대신 사용할 수 있는 게 NavigationStack이다.         다른 스택들 사용하는 것처럼 NavigationStack이 끝나는 중괄호 끝에.navigationTitle("Title Text")를 붙여주면 네비게이션 타이틀이 나오게 된다. 이때, nav.. 2024. 4. 15.