일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Leetcode
- keyWindow
- Equatable
- GIT
- COMMIT
- UIAccessibility
- pubspec.yaml
- xcode
- pubspec
- Widget
- github
- OSLog
- Swift
- tip
- IOS
- enumerations
- it
- reetcode
- designPattern
- algorithm
- SwiftGen
- swiftlint
- dart
- toyproject
- flutter
- Extentsion
- ToDoRim
- listview
- protocol
- basic
- Today
- Total
목록iOS - Swift (47)
수니의 개발새발
올해 초부터 종종 사이드 프로젝트로 접근성 적용 데모와 라이브러리를 만들어왔어요. 처음엔 어렵고 모르는 투성이었지만 공부하고 만들면서 지금은 굉장히 관심이 깊어졌어요. 그래서 카테고리를 따로 빼서, 접근성 적용에 대한 글들도 올려보려고 합니다. 📌 이번 글은 UIAccessibility.post(notification:argument:)을 사용하여 특정 상황에 Voice Over가 알리는 기능을 구현하는 방법입니다. 1. UIAccessibility.post(notification:argument:) Posts a notification to assistive apps. - Apple Developer Documentation Apple Developer 에서는 이 메서드가 앱에 접근성 알림을 게시해준다..
iOS13부터 다크모드가 생겼어요. 그러면서 Xcode 디폴트가 다크모드/라이트모드 모두 지원 상태로 되어버려서 하나만 지원하고 싶을 때 설정을 해줘야 해요! 📌 이번 글은 iOS13에서 라이트모드(또는 다크모드)만 지원하기 위한 방법입니다. 1. info.plist UIUserInterfaceStyle Light info.plist에 해당 Source Code를 추가하거나 사진처럼 Appearance를 추가합니다. 다크모드만 지원하고 싶을 때는 Light -> Dark로 설정합니다. 2. AppDelegate.swift AppDelegate.swift > didFinishLaunchingWithOptions에서 window 변수에 대해 아래와 같이 설정해도 됩니다. if #available(iOS 13..
📌 이번 글은UIView.animate를 사용하여, Custom Animation Popup을 만드는 방법입니다.해당 포스팅은 Storyboard intreface 기반 Swift 프로젝트입니다.1. UIWindow+Ext.swift 준비팝업 호출 뷰의 디폴트 값을 최상위 뷰로 하기 위해, 최상위 뷰 컨트롤러를 얻는 UIWindow Extension을 먼저 만들어 줍니다.참고 포스팅 : [iOS/Swift] 최상위에 있는 뷰 컨트롤러 얻기 [iOS/Swift] 최상위에 있는 뷰컨트롤러 얻기개발하면서 앱의 최상위 뷰 컨트롤러를 찾아야 할 일이 종종 있어요. 처음에는 최상위 뷰에 얼럿을 띄우기 위해 작업을 했지만, 한번 extension으로 빼놓으니 1) 웹뷰 통신(브릿지 호출)으로 뷰 이sunidev.t..
📌 이번 글은 UIAlertController를 사용하여 얼럿을 띄우는 방법입니다.어디서든 얼럿을 노출할 수 있도록 static 클래스 소스로 작성하였습니다. 1. UIWindow+Ext.swift 준비얼럿의 경우 최상위 뷰에 띄우는 경우가 많죠.얼럿 호출 뷰의 디폴트 값을 최상위 뷰로 하기 위해, 최상위 뷰 컨트롤러를 얻는 UIWindow Extension을 먼저 추가해주세요. [iOS/Swift] 최상위에 있는 뷰컨트롤러 얻기개발하면서 앱의 최상위 뷰 컨트롤러를 찾아야 할 일이 종종 있어요. 처음에는 최상위 뷰에 얼럿을 띄우기 위해 작업을 했지만, 한번 extension으로 빼놓으니 1) 웹뷰 통신(브릿지 호출)으로 뷰 이sunidev.tistory.comimport UIKitextension..
개발하면서 앱의 최상위 뷰 컨트롤러를 찾아야 할 일이 종종 있어요. 처음에는 최상위 뷰에 얼럿을 띄우기 위해 작업을 했지만, 한번 extension으로 빼놓으니 1) 웹뷰 통신(브릿지 호출)으로 뷰 이동 2) 푸시나 스키마를 통해 딥링크가 들어올 때, 가동 중인 앱의 뷰 이동 등 여러 곳에서 사용할 수 있게 됐어요. 📌 이번 글은 현재 앱에서 최상위 뷰 컨트롤러를 반환하는 UIWindow Extension 소스입니다. UIWindow+Ext.swift import UIKit extension UIWindow { public var visibleViewController: UIViewController? { return self.visibleViewControllerFrom(vc: self.rootView..
📌 이번 글은 xib로 간단한 TableView를 만드는 방법입니다. 첨부 이미지는 Storyboard intreface기반 Swift 프로젝트입니다. 1. Storyboard에 Table View 추가/설정 프로젝트 생성 후 Main.storyboard > View Controller에 TableView를 추가합니다. Table View의 AutoLayout을 설정합니다. Table View의 delegate, dataSource를 설정합니다. 2. UITableViewCell 클래스 생성 New File -> iOS > Cocoa Touch Class를 클릭합니다. Subclass of > UITableViewCell로 설정하고, Class 명을 원하는 명으로 바꾼 뒤, Also create XIB ..
📌 이번 글은 Grid 형태의 image CollectionView를 만드는 방법입니다. 첨부 이미지는 Storyboard intreface기반 Swift 프로젝트입니다. 1. Storyboard에 Collection View 추가/설정 프로젝트 생성 후 Main.storyboard > View Controller에 Collection View를 추가합니다. CollectionView의 AutoLayout을 설정합니다. Collection View의 delegate, dataSource를 설정합니다. CollectionView의 Estimate Size를 None으로 설정합니다. Cell 사이에 구분을 명확히 하기 위해 Collection View의 Background 색상을 변경하면 좋아요. Colle..