전체 글

어제보다 성장한 매일을 살아가는 중입니다.
iOS

[SwiftUI] GeometryReader와 ScrollView를 활용한 커스텀 인디케이터 (iOS 17+)

안녕하세요!오늘은 제가 예전에 구현한 커스텀 인디케이터를 소개해보려고 합니다. 예전에 나이키 앱을 클론 코딩할 일이 있었는데생각지도 못한 부분에서 막혔었습니다.보이시나요?좌우로 완전히 이동하지 않고 조금씩 움직이는게 인디케이터에 반영 됩니다. 저는 원래 저런 뷰를 주로 아래의 코드처럼 탭 뷰로 만들었습니다.struct ContentView: View { @State var selPageNumber: Int = 0 var body: some View { TabView(selection: $selPageNumber) { Text("1번 화면") .tag(1) Text("2번 화..

iOS

[SwiftUI] xcconfig, cocoapods 동시에 사용하기 설정

안녕하세요! 최근에 기존에 private이었던 프로젝트를 public으로 전환하면서특정 정보를 xcconfig 파일을 만들어서 옮길 일이 생겼습니다.  다른 프로젝트에서도 xcconfig 파일을 사용해보아서 별 생각이 없었는데생각지도 못한 문제가 발생했습니다.Debug와 Release에 저렇게 생성한 xcconfig파일인 Secret으로 설정해줘야 하는데  Pods-.debug, Pods-.release라고 뭐가 이미 설정되어있네요?(사실 모양을 보시면 아시겠지만 저 파일들도 xcconfig 파일입니다.)이런 경우는 아마 저처럼 cocoapods을 통해 라이브러리를 사용하면서 xcode파일이 아니라xcworkspace로 파일을 키게 되면서 저렇게 설정을 해두셨을 겁니다.  어 그래도 나는 일단 중요한 정..

iOS

[SwiftUI] - Scrollable TabBar, Custom TabBar, (iOS17)

안녕하세요요즘 보기 시작한 Swift정보를 잘 알려주시는 외국 유튜버분이 있어서 영상을 보면서 공부하다가어느 순간 코드가 이해가 안가서 스스로 어? 나 이대로 괜찮나? 하면서 위기감이 확 드는 겁니다.그래서 지금 코드를 이해 못하면 아무것도 못할거 같은 불안함이 생겨 한줄한줄 최대한 이해해보려고 정리하는김에오랜만에 블로그도 써야겠다 하고 글을 쓰게 되었습니다 ㅎㅎ  https://www.youtube.com/watch?v=sCK0W39nVEk참고한 영상이구요! (아주 추천하는 채널입니다 저도 시간이 되는대로 많이 보려구요) 저의 결과물입니다. 저렇게 스와이프하거나 드래그 했을 때의 페이지 처리는 금방 이해가 갔는데상단의 커스텀 탭 바의 선의 길이가 글자 크기에 맞춰 계산되는 로직이 이해가 안가더라구요.그..

알고리즘(Algorithm)

[Swift 알고리즘] 문자열 섞기

문제 내 답(실패 - 런타임 에러, 정확성 95.8) 다른 사람의 답(모범 답안) 아....나름의 논리로 문제를 풀었는데 런타임 에러가 나버렸네요. 모법 답안을 보시면 문법을 처음 배울 때 한번 듣고 잊고 있던 zip과 (다시 보니 기억은 나네요 ㅜㅜ) 고차함수 map을 사용했습니다. 그리고 String 타입에 map이 동작하는가봅니다. 그리고 반환값을 String()으로 묶은것을 보아 리턴값은 Character 타입일거구요 그리고 이때까지 몰랐는데 for문에도 String 타입이 적용 된다고 하네요 그 이유가 궁금해서 찾아보니 String 타입이 Sequence라는 프로토콜을 채택했기 때문이었습니다. zip도 Sequence 프로토콜을 채택한 것들에만 사용이 가능하구요 https://developer...

dev_강건
데브깡의 개발 일기