▼ 텍스트 필드를 만들기 위해서 다음과 같이 TextField 요소를 추가합니다. 첫 번째 파라미터는 Placeholder를 의미하며 두 번째 파라미터는 실제 입력 텍스트로 Binding 값이 들어갑니다. 때문에 @State 지시자를 통해서 새로운 변수를 추가합니다. @State는 내부적으로만 사용하기 때문에 private로 선언하는 것이 기본이며 값은 빈 문자열로 해줍니다. ▼ 텍스트를 입력하면 첫 글자가 대문자인 것을 알 수 있습니다. textInputAutocapitalization 를 .never로 설정하면 대문자가 아닌 소문자로 시작합니다. 그리고 틀린 문자에 대해 자동으로 수정해주는 기능이 있는데 사용자가 불편할 수 있습니다. .disableAutocorrection(true) 로 방지할 수 ..
VStack, HStack, ZStack UIKit을 사용해서 개발을 할 때에도 Stack은 매우 유용하게 사용됩니다. 오토레이아웃을 사용하든 SnapKit을 사용하던 반드시는 아니지만 Stack을 사용하면 편리하게 UI 레이아웃을 만들 수 있습니다. 하지만 SwiftUI 개발을 하게 되면 Stack을 빈번하게 사용합니다. 특히 직관적이고 레이아웃을 바로 변경하는 모습을 볼 수 있어서 쉽게 레이아웃 구성이 가능합니다. 레이아웃의 가장 기본적인 형태인 Stack에 대해서 알아보겠습니다. ▼ 두 개의 Rectagle을 만들고 VStack으로 감싸면 다음과 같이 정중앙에 2개의 박스를 볼 수 있습니다. ▼ 마찬가지로 VStack 대신에 HStack을 사용하면 다음과 같이 가로로 배치된 UI를 볼 수 있습니다...
시뮬레이터 다크모드 아이폰 개발을 하다보면 시뮬레이터를 자주 사용합니다. 최근 iOS 13 이후부터는 다크 모드를 지원하게 되는데요. 개발 초기에는 앱 개발 시 다크 모드를 포함하지 않는 경향이 있었지만 최근에는 다크모드를 지원하는 앱이 많아졌습니다. 일일이 시뮬레이터에 연결해서 다크모드를 테스트하는 것보다는 시뮬레이터에서 테스트하는 편이 훨씬 빠릅니다. 아이폰에서는 제어센터에서 손쉽게 변경할 수 있는데요. 시뮬레이터는 조금 귀찮긴 합니다. 그림 지금부터 시뮬레이터에서 다크 모드로 변경하는 법을 알아보겠습니다. ▼ 다음과 같이 앱 홈화면에 설정 메뉴를 선택합니다. ▼ 설정화면에서 아래쪽으로 스크롤해줍니다. ▼ 시스템 설정 마지막 부분에 개발자 메뉴를 선택합니다. ▼ Developer (개발자) 메뉴에서 ..