전체 글

iOS/SwiftUI

[SwiftUI] SwiftUI의 Stack, Frame, GeometryReader

귀신같이 일주일만에 돌아온 블로그 ㅋㅋ 오늘은 SwiftUI에서 필수로 쓰이는 스택과 프레임, 그리고 GeometryReader라는 것을 정리해볼 것이다람쥐 !! 🐿️ 컨테이너의 자식 뷰 제한 컨테이너 뷰는 직접적인 하위 뷰를 10개로 제한한다. 만약 스택 컨테이너가 10개 이상의 자식 뷰를 담으면 다음과 같은 구문 오류가 표시된다. Argument passed to call that takes no argument 만약 스택에 포함된 직접적인 자식 뷰가 10개를 넘어야 한다면 뷰들은 여러 컨테이너로 나눠서 담겨야 할 것이다. 이때 사용할 수 있는 방법은 2가지다. 하위 뷰로 스택을 추가하기 Group 뷰 사용하기 아래 코드는 12개의 Text 뷰가 Group 컨테이너로 나눠져서 VStack에는 단 2개..

iOS/SwiftUI

[SwiftUI] SwiftUI로 커스텀 뷰 수정하기

또, 일주일 뒤에 돌아온... 블로그 오늘은 앞서 공부했던 커스텀 뷰 생성에 이어 해당 뷰를 수정하는 것을 정리해볼 것이다.!! 뷰 변경하기 SwiftUI와 함께 제공되는 모든 뷰는 커스터마이징이 필요 없을 정도로 완전히 정확하게 우리가 원하는 모양과 동작을 하는 것이 아니기 때문에 수정자(modifier)를 뷰에 적용하여 변경할 수 있다. 모든 SwiftUi 뷰에는 뷰의 모양과 동작을 변경하는 데 사용될 수 있는 수정자들이 있다. 이 수정자들은 뷰의 인스턴스에서 호출되는 메서드 형태를 취하며 원래의 뷰를 다른 뷰로 감싸는 방식으로 필요한 변경을 한다. 이 말인 즉슨, 동일한 뷰에 여러 변경을 하기 위해 수정자들이 연결될 수 있다는 의미다. 예를 들어, 다음의 코드는 Image 뷰가 허용하는 공간 안에 ..

iOS/SwiftUI

[SwiftUI] SwiftUI로 커스텀 뷰 생성하기

8일 뒤에 돌아온 블로그...🥴 오늘은 내장된 SwiftUI View의 기본 개념과 User Interface 레이아웃을 선언하고, View의 모양과 동작을 수정하는 데 사용되는 구문에 대해 알아보자 !-! (2개의 글로 나눠서 작성할 예정 ! - 뷰 생성, 뷰 수정) SwiftUI View 란 ? SwiftUI에서 뷰는 View 프로토콜을 따르는 구조체로 선언된다. View 프로토콜을 따르도록 하기 위해선 구조체는 body 프로퍼티를 가지고 있어야 하며, 이 body 프로퍼티 안에 뷰가 선언되어야 한다. SwiftUI에는 사용자 인터페이스를 구축할 때 사용될 수 있는 다양한 뷰(Text Label, Text Field, Menu, Toggle, Layout Manager View, etc.)가 내장되어..

iOS/SwiftUI

[SwiftUI] Xcode 파일 뜯어보기

시작하기에 앞서, SwiftUI가 도입되기 전에는 UIKit을 이용하여 iOS 앱을 개발하였다. 그렇기에 애플은 SwiftUI와 UIKit 코드가 동일한 프로젝트 내에 통합되도록 하는 여러 방법을 제공한다. 새로운 SwiftUI 기반의 프로젝트를 생성하면, 실제로 Xcode는 SwiftUI 뷰들이 앱을 만드는 주체가 되도록 하기 위해 통합 기술을 사용하는 UIKit 기반의 앱을 생성한다. 그렇기에, 앞으로 나오는 UI라는 접두사가 붙은 모든 클래스는 UIKit 클래스임을 알자 !! AppDelegate.swift 파일 모든 iOS 앱은 이벤트 처리와 UI를 표시하기 위하여 앱에 의해 사용될 서로 다른 UIWindow 객체를 관리하는 UIApplication 클래스의 인스턴스 하나를 갖는다. UIWindo..

개발환경

앱 기술 비교

Native : 각 운영체제에서 기본적으로 개발하기 위해 제공하고 권장되는 방법 📍 종류 Xcode Android Studio 📍 장점 가장 빠른 성능 플랫폼 신기술을 가장 빠르게 적용할 수 있다. 📍 단점 특정 플랫폼 기술에 종속된다. 개별 플랫폼마다 대응이 필요하다. 개발 동료들이 소중.. Hybrid 📍 종류 React Native Google의 Flutter Microsoft의 .NET ELECTRON(데스크탑 앱, JavaScript) 📍 장점 여러 플랫폼을 동시에 대응할 수 있다. 📍 단점 개별 플랫폼 대응에 더 큰 문제가 발생할 수 있다. 기술과 플랫폼 별로 실행 속도가 제각각이다. 플랫폼 신기술을 즉각적으로 적용하지 못한다. 앱스토어 정책 위반의 가능성이 있다. (Adobe, RN Code..