Logo April's DevLog
    Logo Inverted Logo
    • 태그
    • Anaconda
    • Android
    • Appstore
    • codeup
    • Coding Test
    • Colab
    • Conda
    • Custom EditText
    • Custom View
    • Data Collection and Storage
    • Git
    • Guideline 5.1.1
    • In-App Purchase
    • Information Needed
    • iOS
    • iOS 점유율
    • iOS 타켓 OS 정하기
    • Kotlin
    • Layout
    • Markdown
    • MVVM
    • NavigationLink
    • Python
    • Sample
    • Sign up
    • SwiftUI
    • Tabview
    • Two-Way Binding
    • Xcode
    • Xcode13
    • 심사거절
    • 앱화면이 멈췄어요
    • 회원가입
    Hero Image
    [SwiftUI] Layout 선택하기

    목표 앱 사용자 인터페이스에 가장 적합한 컨테이너뷰를 선택할 수 있다. 참고 및 이미지 출처: developer.apple.com 뷰 쌓기 뷰를 쌓는 방식은 크게 3가지가 있습니다. 세로로 쌓기 (VStack) 가로로 쌓기 (HStack) 겹쳐서 쌓기 (ZStack) 이 3가지만 알아도 뷰를 잘 구성할 수 있습니다. 이미지를 보면 이미지와 텍스트뷰 부분이 겹쳐 있는 것을 볼 수 있습니다. 이 부분은 이미지를 겹치는 ZStack을 이용한 것입니다. 그리고 텍스트들은 사람의 이름인 Rachael Chiseck와 직위인 Chief Executive Officer가 상하로 배치된것을 볼 수 있는데 이것은 뷰를 세로로 쌓는 VStack을 이용한것입니다.

    November 28, 2022
    Hero Image
    화면이 멈추는 현상 (TabView)

    TabView란? 공식문서: 링크 Apple 정의 A view that switches between multiple child views using interactive user interface elements. 여러개의 자식뷰를 가진 뷰 스위쳐라고 적혀있다. 안드로이드의 ViewPager와 비슷하다고 보면 될 것 같다. 애플에서 공식으로 제공하는 뷰중에 하나지만 StackOverflow 등을 보면 버그가 많아서 많이 쓰이지는 않는 것같다. 이번에 겪은 증상을 기록용으로 남겨본다. 버그증상 iOS 14.2, 14.3 등 특정 버전에서 화면이 멈추면서 아예 동작을 하지 않았다. SwiftUI를 쓰면서 느낀것인데 SwiftUI는 OS 버전을 많이 타는 것 같다.

    May 18, 2022
    Hero Image
    이동하자마자 뒤로 가는 현상 (NavigationLink)

    증상 NavigationLink로 페이지를 이동하자마자 뒤로 가는 현상 SwiftUI로 개발을 하다보면 NavigationLink를 사용하는 경우가 많습니다. 그런데 SwiftUI로 NavigationLink를 사용하다보면 NavigationLink로 페이지를 이동하자마자 뒤로 가는 현상이 발생하는 황당한 경우가 있습니다. 그렇습니다. SwiftUI 버그입니다….. 해결방법 빈 링크를 3개 넣어준다. NavigationLink(destination: EmptyView()) {EmptyView()} NavigationLink(destination: EmptyView()) {EmptyView()} NavigationLink(destination: EmptyView()) {EmptyView()} 해결방법 자체는 간단합니다. SwiftUI 자체 버그가 발생하는 경우 꼼수로 해결하는 수 밖에 없습니다. EmptyView로 이동하는 빈 NavigationLink를 링크를 3개 더 넣어줍니다. 아래에 예시코드코드처럼 뷰 안에 빈 링크 NavigationLink(destination: EmptyView()) {EmptyView()}를 3개 넣어줍시다.

    May 17, 2022
    바로가기
    • About
    • Skills
    • Experiences
    • Recent Posts
    Contact me:
    • april.kim412@gmail.com

    Toha Theme Logo Toha
    © 2020 Copyright.
    Powered by Hugo Logo