일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- algorithm
- toyproject
- pubspec.yaml
- SwiftGen
- listview
- OSLog
- tip
- xcode
- designPattern
- Extentsion
- enumerations
- flutter
- GIT
- basic
- ToDoRim
- Widget
- protocol
- reetcode
- pubspec
- keyWindow
- dart
- swiftlint
- it
- IOS
- Swift
- UIAccessibility
- Leetcode
- github
- COMMIT
- Equatable
- Today
- Total
목록전체 글 (92)
수니의 개발새발
화면을 그리다 보면 노치 영역으로 인해 레이아웃이 깨져 골치 아플 때가 많죠. 그래서 SafeArea Inset값이 디바이스마다 변동되어 자주 필요로 합니다. 📌 이번 글은 현재 디바이스의 SafeArea의 top.bottom 영역 값을 구하는 방법입니다. SafeArea Top Inset func safeAreaTopInset() -> CGFloat { let statusHeight = UIApplication.shared.statusBarFrame.size.height // 상태바 높이 if #available(iOS 11.0, *) { let window = UIApplication.shared.keyWindow let topPadding = window?.safeAreaInsets.top retu..
올해 초부터 종종 사이드 프로젝트로 접근성 적용 데모와 라이브러리를 만들어왔어요. 처음엔 어렵고 모르는 투성이었지만 공부하고 만들면서 지금은 굉장히 관심이 깊어졌어요. 그래서 카테고리를 따로 빼서, 접근성 적용에 대한 글들도 올려보려고 합니다. 📌 이번 글은 UIAccessibility.post(notification:argument:)을 사용하여 특정 상황에 Voice Over가 알리는 기능을 구현하는 방법입니다. 1. UIAccessibility.post(notification:argument:) Posts a notification to assistive apps. - Apple Developer Documentation Apple Developer 에서는 이 메서드가 앱에 접근성 알림을 게시해준다..
며칠 전에 회사에서 새로운 하이브리드 앱을 구축하다가 웹뷰 로드가 안되는 상황이 발생했어요. 하이브리드 앱을 항상 구축하고 운영해오다 보니 당연히 설정했을 거라고 생각하고(나 자신을 너무 믿어버린..) http 허용을 먼저 확인할 생각 안하고 웹뷰 디버깅만 하면서 삽질했지 모예요.. (゚д゚ノ;) ノ 이제는 절대절대 먼저 확인하라고 블로그에 박제해버려야겠어요! \\٩(๑`^´๑)۶//// 📌 이번 글은 iOS9이상 버전부터 HTTP URL을 허용하는 방법입니다. 1. info.plist NSAppTransportSecurity NSAllowsArbitraryLoads info.plist에 해당 Source Code를 추가하거나 사진처럼 App Transport Security Settings > Allo..
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..
CocoaPods는 Swift 및 Objective-C 코코아 프로젝트의 종속성 관리자입니다. 28,000개가 넘는 라이브러리를 가지고 있으며 170만 개가 넘는 응용 프로그램(앱)에서 사용되고 있습니다. CocoaPod은 프로젝트를 우아하게 확장할 수 있도록 도와줍니다. - CocoaPods 사이트 📌 이번 글은 CocoaPods을 사용하는 방법입니다. 1. 코코아팟 설치하기 터미널을 열고 아래의 명령어를 입력해 줍니다. $ sudo gem install cocoapods 그럼 코코아팟을 사용할 준비가 끝났습니다! 간단하죠 (∗❛⌄❛∗) 2. 프로젝트에서 코코아팟 사용하기 step 1 터미널에서 Xcode 프로젝트 위치로 이동합니다. $ cd {Xcode 프로젝트 위치} Podfile을 생성합니다. $..
📌 이번 글은 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..