본문 바로가기

반응형

분류 전체보기

(59)
SwiftUI FocusState 알아보기 FocusState는 iOS 15에서 새롭게 생긴 아지 나름 따끈따근한 프로퍼티 래퍼이다. A property wrapper type that can read and write a value that SwiftUI updates as the placement of focus within the scene changes. scene 내에 포커스 배치가 변경될 때 SwiftUI가 업데이트하는 값을 읽고 쓸 수 있는 프로퍼티 https://developer.apple.com/documentation/swiftui/focusstate Apple Developer Documentation developer.apple.com 어떻게 사용할 수 있을까? 공식문서를 보면 TextField에서 포커스를 제거하거나 키보드..
SwiftUI ForEach SwiftUI는 ForEach라고 하는 전용 뷰 타입을 제공해준다. 반복해서 뷰를 만들기 위해 가장 많이 사용하는 방법이다. 공식문서를 보면 다음과 같이 나타나 있다. A structure that computes views on demand from an underlying collection of identified data. 식별된 데이터의 컬렉션에서 요청 시, 뷰를 계산하는 구조체 ForEach는 루프를 돌면서 한 번의 클로저를 계속해서 실행한다. struct ForEachPractice: View { var body: some View { Form { ForEach(0..
SwiftUI animations(애니메이션) SwiftUI에서 animations에 대해서 공부해보고자 한다. animation(_:value:) Applies the given animtaion to this view when the specified value changes. animation 메소드를 통해 호출한 view와 하위 view에 animation을 적용할 수 있다. 뷰에 animation()을 추가하면 기본 시스템 애니메이션을 사용하여 해당 보기에 발생하는 모든 변경 사항을 자동으올 애니메이션화 할 수 있다. 애니메이션화를 한다는 것은 시작상태에서 종료상태로 해당 view의 상태를 변화시키는 것이다. 이를 위해선 해당 view가 시작상태와 종료상태를 가지고 있어야 한다. .easeOut, .easeIn 등을 사용하여 애니메이션의 유..
SwiftUI LifeCycle 오늘은 SwiftUI의 LifeCycle에 대해서 공부해보려고 한다. swift를 공부하면 ViewController의 LifeCycle에 대해서 먼저 공부할텐데 ViewContoller의 LIfeCycle은 많지만 SwiftUI의 LIfeCycle은 간단하다. onAppear(perform:) Adds an action to perform before this view appears 뷰가 나타날 때 수행할 액션 추가 onDisappear(perform:) Adds an action to perform after this view disappears 뷰가 사라질 때 수행할 액션 추가 2개의 뷰를 만들고 Navigation으로 뷰 전환을 실행해 보았다. struct LifeCycle: View { var ..
SwiftUI @AppStorage swiftUI를 조금씩 공부하면서 키워드를 하나씩 정리해 나가고 있다. 오늘은 @AppStorage에 대해서 알아보겠다. (공식문서 내용) A property wrapper type that reflects a value from UserDefaults and invalidates a view on a change in value in that user default. @AppStorage는 간단히 말해 다음과 같이 말할 수 있다. UserDefault의 SwfitUI버전 App의 전역범위에 데이터 공유 가능 Binding으로 서브뷰로 전달하여 데이터를 바로 업데이트 가능 사용 방법 @AppStorage("KEY") var Name: Type = Value @AppStorage 뒤에는 "고유 값"을 적어..
xcode 꿀팁) 자주 쓰는 코드 저장, Snippet 사용 개발을 진행하면서 자주 반복적으로 사용하는 코드들이 있습니다. 저는 예를 들면 //MARK: - PROPERTIES //MARK: - LIFECYCLE //MARK: - ACTIONS //MARK: - EXTENSIONS 과 같이 MARK를 이용해서 정리를 하는 편입니다. 사실 코드 길이가 길지는 않지만 그나마 좀 더 빠르게 코드를 불러올 수 있는 기능이 바로 'Snippet'입니다. 단축키와 같은 느낌으로 생각해주시면 될 것 같습니다. 사용방법은 간단합니다. 줄이고자 하는 코드를 드래그 하고 우클릭을 하면 다음과 같은 화면이 나타납니다. 이제 여기서 'Create Code Snippet'을 클릭해 줍니다. 그럼 이러한 화면이 나타납니다. User가 직접 만들거나 Swift에서 기본적으로 지원하는 Sni..
swift UITextView inset 제거 전부터 프로젝트를 하면서 해결하지 못했던 내용을 키워드를 찾아서 글을 써보고자 합니다. 현재 Leading 값으로 모두 16을 준 상태입니다. 이미지를 보시면 textView가 Label보다 밀려나 있는 것을 볼 수 있습니다. TextView는 기본값으로 inset이 설정되어 있기 때문에 이러한 결과나타나게 됩니다. 해결방법은 의외로 간단합니다. override func viewDidLoad() { super.viewDidLoad() viewColorSetting() titleTextView.textContainer.lineFragmentPadding = 0 titleTextView.textContainerInset = .zero } 첫번째 textView가 inset을 제거한 후 Label과 같은 시작..
swift 정수형(integer), 부동소수형(Floating-point) swift의 정수형 변수를 만드려면 'int' 키워드를 사용합니다. var number: Int = 3 //정수현 타입 선언 print(number) // 결과: 3 뿐만 아니라 크기가 다른 다양한 int 변형을 제공합니다. variant Size Range Int8 8bit -128~127 Int16 16bit -2^15~2^15 - 1 Int32 32bit -2^32~2^32 - 1 Int64 64bit -2^63~2^63 - 1 간단히 생각해서 Int8은 8자 0,1로 나타낼 수 있는 모든 경우의 수 2^8 = 256입니다. 이것을 -와 +로 나타낸다면 -128부터 127까지 나타낼 수 있을 것입니다. Int는 -와 +를 포함하는 정수 타입이며 UInt는 0과 +를 포함하는 정수 타입입니다. UIn..

반응형