# Swift 5.5 - 지금까지 최고의 릴리즈 - Swift Concurrency를 포함하여 편리/효율/안전하게 concurrent programming을 할 수 있다. # Swift Package Index Swift Package Index는 Swift Package Manager를 지원하는 패키지를 찾을 수 있도록 커뮤니티에서 만든 페이지 이제 Swift 5.5 및 Xcode 13에서는 패키지를 훨씬 더 빠르고 쉽게 사용할 수 있도록 Xcode가 지원함. Xcode 12에서는 이렇게 URL만 입력할 수 있었는데, Xcode 13에서는 File > Add Package를 누르면 이렇게!!!! Swift Package Manager를 지원하는 Package들의 리스트가 나옴. "Package Coll..
안녕하세요 :) Zedd입니다. 얼마전에 View / UIBezierPath / CAShapeLayer에 패턴 넣기 (feat. Accessibility) 글을 썼는데, View / UIBezierPath / CAShapeLayer에 패턴 넣기 (feat. Accessibility) 안녕하세요 :) Zedd입니다. HIG ) Color and Contrast 글에서 봤듯이, color에만 의존하여 object를 구분하거나 중요한 정보를 전달하지 말 것. 앱에서 color를 사용하여 정보를 전달하는 경우, 색맹 사용자도 zeddios.tistory.com 마침 WWDC 21에 Bring accessibility to charts in your app 이라는 세션이 나왔다는 걸 듣고,,꼭 들어야겠다고 생각했..
안녕하세요 :) Zedd입니다. 오늘은...VoiceOver 환경에서 UITapGestureRecognizer가 동작 안하는 이슈에 대해서 분석해보도록 하겠습니다. # 문제 왼쪽 그림의 버튼을 누르면 오른쪽 사진처럼 노란색 Bottom Sheet가 뜨는 아주 간단한 UI입니다. BottomSheet ViewController의 구조는 아래와 같습니다. Bottom Sheet이 떴을 때 뒤를 흐리게 만들어주는 DimmedView가 있고, 메인 View인 Bottom Sheet View가 있습니다. 오른쪽 gif처럼 dimmedView를 tap했을 때 이 Bottom Sheet이 dimiss가 됐으면 좋겠으니, let tapGesture = UITapGestureRecognizer(target: self, ..
안녕하세요 :) Zedd입니다. HIG ) Color and Contrast 글에서 봤듯이, color에만 의존하여 object를 구분하거나 중요한 정보를 전달하지 말 것. 앱에서 color를 사용하여 정보를 전달하는 경우, 색맹 사용자도 이해할 수 있도록 text labels 또는 glyph를 제공해야 한다. 하지만, 왼쪽 차트에 대해서는 생각을 해본적이 없는데, 당연히 위와같은 차트는 색약이나 색맹을 가지고 있는 사람들이 보게 되면 색상 구분이 되지않습니다. 오른쪽 사진처럼 각 파이에 Label을 달아주는것도 좋은 방법이지만, 그럴 수 없을때는 각 파이에 "패턴"을 넣어주는게 좋다고 합니다. color에만 의존하여 object를 구분하거나 중요한 정보를 전달하지 말 것. 이 논리를 왜 차트에는 적용을..
안녕하세요 :) Zedd입니다. 이 글을 읽기 전에 VoiceOver환경에서 TableView Row 옮기기, 삭제하기 (feat. 로터 사용법) 요 글을 꼭 읽고와주세요! VoiceOver환경에서 TableView Row 옮기기, 삭제하기 (feat. 로터 사용법)에서 동작을 사용할 수 있으면 이런식으로 동작을 사용할 수 있다고 나왔죠. 하지만, 제 CustomView에 포커스를 대면 그냥 이런식으로 static text만 읽어줄 수 있습니다. 1. 로터 기능을 사용할 수 있다는 Hint(?)를 넣고 싶다. 2. 로터로 내가 넣은 액션을 실행하면(==더블탭하면) 내가 원하는 Action을 하고싶다. 그럴 때 UIAccessibilityCustomAction을 사용하면 됩니다. # UIAccessibil..
안녕하세요 :) Zedd입니다. 오늘은 보이스오버 환경에서 TableView Row를 옮기고 삭제하는 방법에 대해서 알아보려고 합니다. UITableView는 왼쪽처럼 editing mode에서는 삭제하거나 순서를 옮길 수 있고, 오른쪽 처럼 trailing(또는 leading) Swipe Actions을 할 수 있습니다. 보이스오버 상태에서는 1. (왼쪽 그림) 삭제는 그렇다 쳐도..순서는 어떻게 옮길까요? 2. (오른쪽 그림) trailing(또는 leading) Swipe Actions을 어떻게 할까요? 보이스오버 상태에서 이런식으로 포커스가 가고, 포커스에 대한 액션을 하고 싶으면 더블탭, 이동하고 싶으면 스와이프...이런 간단한 것들은 많이 해보셨을텐데요. 아까 말한 Row 순서옮기기, trai..
기록차 남겨둠 # 문제 WKInterfaceDevice.current().play(.start) 를 사용하여 Haptic feedback을 실행하도록 했으나 1. 앱이 켜저있는 상태에서 화면이 꺼지거나 2. background로 들어가면 Haptic feedback이 정지되는 이슈. # 첫번째 방법 - Session Type이용하기(Time limit있음) watchKit Extension Target > capability > Background Modes를 추가. 세션타입을 결정해야하는데, 요건 Extended runtime sessions이라고 부르는 것 같다. 요걸 사용하면 시계 화면이 꺼진 후에도 앱이 블루투스 기기와 계속 통신하고 데이터를 처리하거나, 사운드 또는 햅틱을 재생할 수 있다고 한다..
안녕하세요 :) Zedd입니다. 오늘은 처음 겪는 현상에 대해...분석 & 해결해보고자 합니다. # UITabBar와 UILongPressGestureRecognizer class MainTabBarViewController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() let gesture = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress)) self.tabBar.addGestureRecognizer(gesture) } @objc func handleLongPress() { print("안녕") } } 코드는 간단합니다. UILon..
- Swift
- WKWebView
- 스위프트
- FLUTTER
- 회고
- UIBezierPath
- 제이슨 파싱
- Xcode
- swift sort
- Git
- 스위프트 문법
- Combine
- SwiftUI
- actor
- github
- fastlane
- np-complete
- IOS
- ios 13
- Accessibility
- 피아노
- iOS delegate
- WWDC
- swift array
- np-hard
- WidgetKit
- swift3
- swift tutorial
- swift 공부
- swift delegate
- Total
- Today
- Yesterday