iOS/UIKit & SwiftUI

    [SwiftUI] 사라질 때 transition이 적용안되는 경우 (SwiftUI removal transition not animated)

    [SwiftUI] 사라질 때 transition이 적용안되는 경우 (SwiftUI removal transition not animated)

    문제 Color 로 덮여있는 화면을 탭하면 Lottie 뷰가 아래에서 나타나고, Lottie 뷰를 다시 탭하면 아래로 사라지도록 했다. 뷰가 나타나는 건 잘되는데, 사라질 때 왜 애니메이션이 안먹을까? 원인 및 해결 ZStack { Color.green.ignoresSafeArea() if isAnimating { CustomLottieView() .transition(.move(edge: .bottom)) } } // @State isAnimating, onTapGesture 는 생략 위 코드처럼 구성이 되어있는데 .ignoresSafeArea() 를 풀어보면 removal transition 시, CustomLottieView 의 ZIndex 가 0으로 변경되면서 Color 보다 아래로 이동하여 애니..

    [Gradient Animation] AngularGradient Border 애니메이션 넣기

    [Gradient Animation] AngularGradient Border 애니메이션 넣기

    1. 이미지 리사이징 struct ContentView: View { var body: some View { Image("IU") .resizable() .scaledToFit() .frame(width: 300) .mask { RoundedRectangle(cornerRadius: 12) } } } 2. 그림자 추가 struct ContentView: View { var body: some View { Image("IU") .resizable() .scaledToFit() .frame(width: 300) .mask { RoundedRectangle(cornerRadius: 12) } .shadow(radius: 8) } } 3. AngularGradient Border 추가 struct Content..

    [SwiftUI]커스텀 백버튼 백 제스처 시 화면 멈춤 이슈 해결

    [SwiftUI]커스텀 백버튼 백 제스처 시 화면 멈춤 이슈 해결

    XCode : 13.2.1 타겟 버전 : 14.0 이후 시뮬레이터 버전 : 15.2 개요 프로젝트를 진행하면서 디자이너님의 요구사항에 맞게 백버튼을 커스텀해야 할 일이 생겼다. 그러나 SwiftUI에선 아직 NavigationBar 백버튼의 디자인을 바꿀 수 있는 옵션을 제공하지 않아 커스텀하여 사용하기로 했다. 그러나 커스텀 백버튼을 만들고 hidden 옵션을 주면 백 제스처가 동작하지 않았고 .navigationBarHidden(true) 찾다보니 UINavigationController를 직접 수정하면 해결 할 수 있다고 했다. interactivePopGestureRecognizer?.delegate = self 그러나 Navigation Stack에 뷰가 하나밖에 없는데 뷰를 pop 해버리면 안..

    [iOS][Swift] 투두리스트 앱 만들기 - UI 구성 AutoLayout Constraint 걸기

    [iOS][Swift] 투두리스트 앱 만들기 - UI 구성 AutoLayout Constraint 걸기

    1. 결과 화면 2. 레이아웃 구성 3. 구현 할 기본 기능 투두리스트 조회 투두리스트 등록 및 삭제 투두리스트 완료 체크 4. AutoLayout 스택뷰는 Safe Area 에 딱 맞춰줍니다. 위에있는 뷰의 Bottom 을 Superview 의 Top 부분으로부터 100 만큼 떨어지도록 제약을 걸어 어떤 사이즈가 와도 항상 같은 크기를 유지할 수 있도록 해줍니다. 아래 뷰는 윗 뷰 설정과는 반대로 아랫뷰의 Top 을 Superview 의 Bottom 으로부터 -100만큼 떨어지도록 제약을 걸어서 맨 아랫부분으로부터 항상 100만큼 떨어지도록 해줍니다. 이렇게 설정하면 자연스레 남은 부분은 Table View 의 차지가 됩니다.

    [iOS][Swift] 오토레이아웃 개념잡기

    [iOS][Swift] 오토레이아웃 개념잡기

    프로젝트 만들기 Create new XCode project 를 눌러 오토레이아웃을 공부할 새 프로젝트를 만들어 보겠습니다 ! 카테고리는 App 으로 하고 이름은 PracticeAutoLayout 으로 하겠습니다. 저희는 스토리보드에서 AutoLayout 을 연습해볼거니까 Main.storyboad 로 가줍니다. Label 만들기 그다음 테스트 해 볼 Label 을 하나 만들고 잘 보이게 하기 위해 예쁜 색 백그라운드 색상을 넣어줍니다 ! 오토 레이아웃 개념 Swift 의 AutoLayout 개념은 해당 뷰의 x, y 위치 와 해당 뷰의 가로 세로 크기 를 알려주면 Swift 내부에서 뷰의 위치를 계산해 동적으로 렌더링 하게 됩니다. 오토 레이아웃이 필요한 이유 Q. 그냥 마우스로 요소들만 필요한 위치에..