[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..
[CS] 이미지 캐시
·
⚙️ CS
프로젝트 유지보수 중 사수님이 이미지 캐시 관련 로직을 구현하시다가 나에게 이미지 캐시에 대해 설명해주셔서 까먹기 전에 살짝쿵 정리하고 가기로 했다. 실제로 캐시에 대한 개념을 개발자가 알고 있는 게 중요하기도 하고, 의외로 면접 단골 질문이라 미래를 위해서 (?) 이해하고 있는 게 도움이 될 것 같다.    https://motosw3600.tistory.com/37 ImageCacheImageCache 이미지 캐시로 이미지를 받아오는 로직은 총 3가지로 분류된다. 메모리 캐시 디스크 캐시 URL 요청 1. 메모리 캐시 NSCache사용 Key-Value쌍으로 이루어진 Generic Type의 클래스 메모리 영역 일부motosw3600.tistory.com 위 블로그가 사수님이 간결하게 잘 정리 된 것..
[프로그래머스/Swift] 문자열 붙여서 출력하기
·
💡 알고리즘/프로그래머스
[문제] 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.   [풀이] import Foundationlet inp = readLine()!.components(separatedBy: [" "]).map { $0 }let (s1, s2) = (inp[0], inp[1])print("\(s1)\(s2)")
[프로그래머스/Swift] 대소문자 바꿔서 출력하기
·
💡 알고리즘/프로그래머스
[문제] 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. [풀이] let s1 = readLine()!var result = ""for i in s1{ result += (i.isUppercase ? i.lowercased() : i.uppercased())}print(result)  [과정] isUppercase (당연히 isLowercase도 있다)라는 Bool값으로 return 되는 프로퍼티를 사용하여 대문자인지를 true/false로 확인한 다음, 대문자이면 t소문자로 바꿔주는 메서드인 lowercased()로 소문자로, 반대로 대문자가 아니면 uppercased()로 대문자로 값을 result에 ..