iOS 15 ์์ ์ฌ์ฉํ๋ UIButton.ConfigurationUpdateHandler ๋ฅผ ๊ฐ์ง๊ณ ๋ฒํผ์ ์ํ์ ๋ฐ๋ผ์ ๋์ํด๋ณด๋๋ก ํ๋ค. enum ButtonState { case enable case disable } var completeButtonIsEnabled: ButtonState = .disable { didSet { if completeButtonIsEnabled == .disable { completeButton.isEnabled = false if #available(iOS 15.0, *) { completeButton.setNeedsUpdateConfiguration() } } else { completeButton.isEnabled = true if #available(iOS ..
UITextField ์์ ์ ๋ ฅ๋ฐ์ ๊ธ์ ์๋ฅผ ์ ํํด๋ณด์. ๋จผ์ UITextField ์ ํ ์คํธ๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ต์ ๋ฒ์๊ฒ ์๋ฆด ์ ์๋๋ก notification center ๋ฅผ ๋ฑ๋กํ๋ค. NotificationCenter.default.addObserver(self, selector: #selector(textFieldDidChange(_:)), name: UITextField.textDidChangeNotification, object: nil) UITextField.textDidChangeNotification UITextField ์ ํ ์คํธ๊ฐ ๋ณ๊ฒฝ๋ ๋ observers ์๊ฒ ์๋ฆฌ๋ notification textFieldDidChange(_:) cardTitleTextField ์ ํ ์คํธ๊ฐ ๋ณ๊ฒฝ๋ ..
Creating an iOS 10 Action Extension ์์ ํํ ๋ฆฌ์ผ์ ํฐํ๋ก ์ก๊ณ ๋ฐ๋ผ๊ฐ์ง๋ง ์ฝ๋๋ ์์ ํ์์ต๋๋ค 1๏ธโฃ Action Extension ์ถ๊ฐ [File] > [New] > [Target] ์์ Action Extension ์ ์ ํํด์ค๋ค. 2๏ธโฃ Action Extension ์ฌ์ฉ Action extension ํ ํ๋ฆฟ์ principal view controller class (ActionViewController๋ผ๊ณ ํจ) ๊ณผ Info.plist ํ์ผ ๋ฐ ์ธํฐํ์ด์ค ํ์ผ(์ฆ, ์คํ ๋ฆฌ๋ณด๋ ๋๋ xib ํ์ผ)์ ๋ํ ๊ธฐ๋ณธ ์์ค ํ์ผ์ ์ ๊ณตํฉ๋๋ค. ๐ป iOS. Action Extension ์ ์ ์ฒด ํ๋ฉด์ผ๋ก ํ์ํ๋ ค๋ฉด ํ์ฅ์ NSExtension ์ฌ์ ์ ๋ค์ ํค-๊ฐ ์์ ์ถ๊ฐํ์ธ์...
HIG ๋ฌธ์ ์ฝ์ด๋ณด๊ธฐ Action Extension ์ฌ์ฉํด๋ณด๊ธฐ Share Extension ์ฌ์ฉํด๋ณด๊ธฐ ๋จผ์ HIG ์์ Share & Action Extension ์ด ๋ฌด์์ธ์ง ๋ถํฐ ์์๋ณด์๊ตฌ์! Sharing and Actions - Extensions - iOS - Human Interface Guidelines - Apple Developer HIG ๋ฌธ์์์๋ Sharing ๊ณผ Actions ๋ฅผ ๊ฐ์ด ์๊ฐํ๊ณ ์์ด์! ์๋ง๋ Activity view ์์ ํ์๋๊ธฐ ๋๋ฌธ์ธ ๊ฒ ๊ฐ๋ค์! ๋ค์์ HIG ๋ฌธ์๋ฅผ ์ฎ๊ฒจ๋์ ๊ธ์ ๋๋ค. Share extensions ์ ํ์ฌ context ๋ฅผ apps, social media accounts, ๋ค๋ฅธ ์๋น์ค๋ก ๊ณต์ ํ๋ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. Action exte..
let appearance = UITabBarAppearance() // set tabbar opacity appearance.configureWithOpaqueBackground() // remove tabbar border line appearance.shadowColor = UIColor.clear // set tabbar background color appearance.backgroundColor = .white tabBar.standardAppearance = appearance if #available(iOS 15.0, *) { // set tabbar opacity tabBar.scrollEdgeAppearance = tabBar.standardAppearance } // set tabba..
๐ ์ผํญ์ฐ์ฐ์ ์ผ...ํญ?? ์์ด์ฆ ์ผํญ์ฐ? ๋จํญ ์ฐ์ฐ์ : -a , !b , c! ์ ๊ฐ์ด ๋์์ ๋ฐ๋ก ์์ด๋ ๋ค์ ๋ถ์ฌ ์ฌ์ฉํ๋ ์ฐ์ฐ์ ์ดํญ ์ฐ์ฐ์ : 2 + 3 ๊ณผ ๊ฐ์ด ๋ ๊ฐ์ ๋์์ ์ฌ์ด์ ์๋ ์ฐ์ฐ์ ์ผํญ ์ฐ์ฐ์ : a ? b : c ์ ๊ฐ์ ํํ์ ์กฐ๊ฑด๋ถ ์ฐ์ฐ์ (Swift์์ ์ผํญ ์ฐ์ฐ์๋ ์ด ์ฐ์ฐ์ ํ๋ ๋ฟ์ ๋๋ค) ์ ๊ทธ๋ฌ๋ฉด ์ผํญ์ฐ์ฐ์๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๋! ์ง๋๊ฐ๋ค๊ฐ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ง...์ผํญ์ฐ์ฐ์์ ์ฌ์ฉ์ ๋ณด์ ์ ์ด ์์๊ฑฐ์์! let a = b > 10 ? true : false // b ๊ฐ 10 ๋ณด๋ค ํฌ๋ฉด a ์ true ํ ๋น. // b ๊ฐ 10 ๋ณด๋ค ์์ผ๋ฉด a ์ false ํ ๋น. ์กฐ๊ฑด ? ํํ์ A : ํํ์ B ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋๋๋ฐ์. : ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์ ์ฐธ์ผ ๊ฒฝ์ฐ, ์ค๋ฅธ์ชฝ..
๊ธฐ์กด์ ์ง์ํ๋ UIPickerViewController ๊ฐ ์์๋๋ฐ์! iOS 14 ์์ ์๋ก์ด Photo Picker ๊ฐ ๋์์ด๋ค! Apple Developer Documentation ์์ ๊ฐ๋ฐ์ ๋ฌธ์๋ฅผ ์ดํด๋ณด์๊ตฌ์! Overview PHPickerViewController ํด๋์ค๋ UIImagePickerController ์ ๋์์ ๋๋ค. PHPickerViewController ๋ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๊ฐ์ ํ๊ณ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋ฐ์์ ์ฌ์ฉ์์๊ฒ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. Deferred image loading and recovery UI ์ง์ฐ๋ ์ด๋ฏธ์ง ๋ก๋ฉ๊ณผ ๋ณต๊ตฌ UI Reliable handling of large and complex assets, like RAW and panoramic images ..
- Protocol
- Algorithm
- YPImagePicker
- Notification
- rxswift
- 2022 KAKAO TECH INTERNSHIP
- WWDC22
- WWDC
- configurable widget
- RxCocoa
- OpenSourceLibrary
- WidgetKit
- Firebase
- projectsetting
- MOYA
- UserDefaults
- MVVM
- SwiftUI
- IOS
- Objective-C
- watchOS
- ์๋ฒํต์
- CloneCoding
- async/await
- urlsession
- APNS
- Widget
- containerBackground
- github
- Swift
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
- Total
- Today
- Yesterday