본문 바로가기

728x90
반응형
SMALL

iOS

(64)
ViewBuilder ViewBuilder A custom parameter attribute that constructs views from closures. "클로저에서 뷰를 생성하는 맞춤형 매개변수 *어트리뷰트입니다." *** attribute ( @ ) *** 코드의 요소에 추가적인 정보를 제공하거나 동작을 변경하는 데 사용 ex) @IBOutlet @property @ViewBuilder func contextMenu( @ViewBuilder menuItems: () -> MenuItems ) -> some View AnyView로 래핑해서 View를 반환 타입으로 AnyView를 반환하는 방식(타입 캐스팅) 보다 ViewBuilder를 사용하면 좋은 점 1. 뷰를 조합하는 코드를 보다 간결하고 가독성 있게 작성할 ..
Global DispatchQueue, QoS DispatchQoS.QoSClass https://developer.apple.com/documentation/dispatch/dispatchqos/qosclass DispatchQoS.QoSClass | Apple Developer Documentation Quality-of-service classes that specify the priorities for executing tasks. developer.apple.com DispatchQoS.QoSClass는 GCD(Grand Central Dispatch)에서 사용되는 QoS(Quality of Service) 클래스를 나타내는 열거형(Enumeration)입니다. case userInteractive: 사용자 상호작용과 관련된 작업에 대한 품..
UIKit 화면 상태 sceneDidDisconnect: Scene이 연결이 끊어진 후 호출되는 메서드입니다. Scene이 종료되거나 중단된 경우에 호출됩니다. sceneWillResignActive: Scene이 비활성화될 예정인 시점에 호출되는 메서드입니다. 사용자의 상호작용을 받지 않게 되는 경우에 호출됩니다. ->SwiftUI 의 inactive랑 비슷합니다. status bar 를 내렸을 때, 홈 인디케이터로 화면을 줄였을 때 이벤트가 발생합니다. sceneDidBecomeActive: Scene이 활성화된 후 호출되는 메서드입니다. 사용자가 Scene을 활성화하거나 다시 포그라운드로 가져오면 호출됩니다. ->SwiftUI 의 ative상태랑 비슷합니다. 앱이 화면에서 제일 위에서 실행 중일 때 이벤트가 발생합니다...
SwiftUI active, inavtive, background 상태 iOS 앱의 상태를 나타내는 세 가지 상태 활성(active) 상태: 앱이 포그라운드에 있고, 사용자와 상호작용할 수 있는 상태입니다. 사용자가 앱을 사용하고 있을 때 해당 상태가 됩니다. 앱이 활성 상태에서는 사용자 입력을 받고, 화면 갱신 및 작업을 수행할 수 있습니다. -> 앱이 실행되고 화면 표시되고 있는 상태 비활성(inactive) 상태: 앱이 포그라운드에 있지만, 사용자와 상호작용할 수 없는 상태입니다. 예를 들어, 알림이나 다른 시스템 창이 나타나서 앱의 화면이 가려진 경우에 해당합니다. 비활성 상태에서는 일시적으로 앱의 작업이 중단되고, 사용자 입력을 받을 수 없습니다. -> status bar 를 내렸을 때, 홈인디케이터 버튼으로 화면을 축소시켜을 경우 백그라운드(background) ..
SwiftUI 이미지 캐시처리 SwiftUI 이미지 캐시처리 SwiftUI에서 이미지 캐시 처리는 이미지를 다운로드하고 캐시에 저장하여 빠르게 로드할 수 있도록 하는 기술입니다. 이미지를 캐싱하면 앱이 이미지를 다시 다운로드하지 않고 캐시된 이미지를 사용할 수 있으므로, 불필요한 데이터 사용을 줄이고 로딩 시간을 단축시킬 수 있습니다. SwiftUI에서 이미지 캐시 처리를 구현하는 방법에는 여러 가지가 있습니다. 예를 들어, 1. 이미지 캐시 라이브러리를 사용 2. View Modifier를 이용하여 CacheKey를 지정 3. URLSession에서 URLCache를 사용 이미지 캐시 처리는 앱의 성능을 향상시키는 데 도움이 되는 기술이므로, 적절한 방법으로 구현하는 것이 중요합니다. 적절한 캐싱 전략을 선택하고, 이미지 크기를 최..
UIKit 화면 전환 방법과 예제 View Controller 의 View 위에 다른 View를 가져와 바꿔치기 예시코드 import UIKit class ViewController: UIViewController { var currentView: UIView? override func viewDidLoad() { super.viewDidLoad() // 첫 번째 View 생성 및 추가 let view1 = UIView(frame: self.view.bounds) view1.backgroundColor = .red self.view.addSubview(view1) self.currentView = view1 // Timer를 사용하여 2초마다 View 변경 Timer.scheduledTimer(withTimeInterval: 2.0, r..
WWDC22 Challenge: Learn Switch Control through gaming 2022 WWDC Challenge는 스위치 컨트롤이었습니다. 시뮬레이터로 실행이 안되서 실기기로 하셔야 돼요. :) https://developer.apple.com/documentation/accessibility/wwdc22_challenge_learn_switch_control_through_gaming WWDC22 Challenge: Learn Switch Control through gaming | Apple Developer Documentation Play a card-matching game using Switch Control. developer.apple.com 실제 플레이 화면 스위치 제어(Switch Control ) iOS 기기에서 접근성 기능 중 하나로, 스위치, 접촉패드, 블..
iOS 연속 탭 위치 인식 방법 터치 이벤트가 발생할 경우 UIGestureRecognizer클래스를 상속받아 여러 정보를 받아올 수 있습니다. 그리고 안의 touchesBegan,touchesEnded 등의 메서드를 오버라이드 해서 다중 터치 이벤트를 처리할 수 있습니다. (Set, 셋 자료 구조에 UITouch 객체를 담아서 하나 이상의 UITouch 객체를 포함할 수 있습니다.) 터치 정보 phase: Began tap 현재 터치 이벤트의 단계를 의미합니다. count: 1. 해당 터치의 탭 수를 나타냅니다. force: 0.000 해당 터치의 힘(강도)를 나타내며, Force Touch를 사용하는 디바이스에서만 유효합니다. *** Force Touch *** https://namu.wiki/w/Force%20Touch Force..

728x90
반응형
LIST