일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- designPattern
- flutter
- Leetcode
- enumerations
- IOS
- OSLog
- github
- reetcode
- keyWindow
- Swift
- swiftlint
- listview
- Equatable
- xcode
- toyproject
- SwiftGen
- protocol
- Widget
- it
- basic
- UIAccessibility
- ToDoRim
- tip
- pubspec
- Extentsion
- dart
- pubspec.yaml
- COMMIT
- algorithm
- GIT
- Today
- Total
목록tip (12)
수니의 개발새발
화면을 그리다 보면 노치 영역으로 인해 레이아웃이 깨져 골치 아플 때가 많죠. 그래서 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..
며칠 전에 회사에서 새로운 하이브리드 앱을 구축하다가 웹뷰 로드가 안되는 상황이 발생했어요. 하이브리드 앱을 항상 구축하고 운영해오다 보니 당연히 설정했을 거라고 생각하고(나 자신을 너무 믿어버린..) 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..
개발하면서 앱의 최상위 뷰 컨트롤러를 찾아야 할 일이 종종 있어요. 처음에는 최상위 뷰에 얼럿을 띄우기 위해 작업을 했지만, 한번 extension으로 빼놓으니 1) 웹뷰 통신(브릿지 호출)으로 뷰 이동 2) 푸시나 스키마를 통해 딥링크가 들어올 때, 가동 중인 앱의 뷰 이동 등 여러 곳에서 사용할 수 있게 됐어요. 📌 이번 글은 현재 앱에서 최상위 뷰 컨트롤러를 반환하는 UIWindow Extension 소스입니다. UIWindow+Ext.swift import UIKit extension UIWindow { public var visibleViewController: UIViewController? { return self.visibleViewControllerFrom(vc: self.rootView..