Xib ๋ก ์ปค์คํ ๋ทฐ๋ฅผ ๋ง๋ค์ด ๋ดค๋๋ฐ ์ก์ ๋ ์ฐ๊ฒฐํด๋ด ์๋ค! ๋ค์์ ๊ธ์ ์ฝ๊ณ ๋ณด์๋๊ฑธ ์ถ์ฒํด์! iOS) ์ปค์คํ ๋ทฐ Xib ์ฐ๊ฒฐํ๊ธฐ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์๊ณ ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์๋ค๊ณ ์๊ฐํด์! 1. delegate pattern 2. NSNotification 3. ๋ทฐ ์ปจํธ๋กค๋ฌ์์ ์ปค์คํ ๋ทฐ ์์ ํธ์ถ ๐ CustomNavigationBar.swift ์ปค์คํ ๋ทฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ด์!(Xib ์ฐ๊ฒฐ์ View ์ Custom Class ์ค์ ์ผ๋ก ํด์ค ์ํ์์!) import Foundation import UIKit class CustomNavigationBar: UIView { // MARK: - UBIoutlet Properties @IBOutlet weak var profileButton: UIButton! ..
Dynamic Type ์ด๋! ์ฝ๊ฒ ๋งํด์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๊ธฐ์์ ์๋์ ๊ฐ์ด ํ ์คํธ ํฌ๊ธฐ ๋ฅผ ์ค์ ํ ์ ์๋๋ฐ์. ์ด ๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ ํ ์คํธ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๋ณํ๋ ๊ฒ์ ๋งํด์! ์ค์ > ๋์คํ๋ ์ด ๋ฐ ๋ฐ๊ธฐ > ํ ์คํธ ํฌ๊ธฐ Dynamic Type ์ ์ ์ฉํ์ง ์์ผ๋ฉด ๊ธฐ๊ธฐ์์ ํ ์คํธ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋๋ฐ ์ ์ฉ์ด ๋์ง ์๋ ๊ฒ์ด์ง์! ๋ํ, ๋ ํฐ ์ฌ์ด์ฆ๋ ์ค์ ์ด ๊ฐ๋ฅํ๋ฐ์ ์ค์ > ์์ฌ์ด ์ฌ์ฉ > ๋์คํ๋ ์ด ๋ฐ ํ ์คํธ ํฌ๊ธฐ > ๋ ํฐ ํ ์คํธ ์ถ๊ฐ๋ก 5๊ฐ์ ๋ ํฐ ์ฌ์ด์ฆ๋ ์ ํํ ์ ์๋ ๊ฒ์ ๋ณผ ์ ์์ด์! ๐ HIG ์ดํด๋ณด๊ธฐ HIG ๋ฌธ์์์ ๋งํ๋ Dynamic Type ์ ์ด๋ฌํฉ๋๋ค. Dynamic Type ์ ๊ธ์๋ฅผ ์ฝ๋์ด๊ฐ ์ ํธํ๋ ํ ์คํธ ์ฌ์ด์ฆ๋ฅผ ์ ํํ ์ ์๋๋ก ์ถ๊ฐ์ ์ธ flexibili..
iOS 15 ์์ UIButton ์ ์๋ก์๊ธด UIButton.Configuration ์ ๋ํด์ ์์๋ณด์! ๋จผ์ , ๊ฐ๋ฐ์๋ฌธ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ฒํผ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์. Creating Buttons โจ init(frame: CGRect) Creates a new button with the specified frame. โจinit(frame: CGRect, primaryAction: UIAction?) Creates a new button with the specified frame, registers the primary action event, and sets the title and image to the action’s title and image. iOS14 ๋ถํฐ ์ฌ์ฉ๊ฐ๋ฅํ ์์ฑ์์ด๋ค..
๋๊ฐ์ง ๋ฐฉ๋ฒ์ ํตํด์ ์ปค์คํ ๋ทฐ ํด๋์ค๋ฅผ Xib ์ ์ฐ๊ฒฐํด์ ๋ง๋ค์ด๋ณด์! ๊ทธ๋ฆฌ๊ณ ์ข ๋ ๊ณ ๋ฏผํด๋ณผ ์ ๊น์ง ๊ฐ์ด ์์๋ด์! ๐งโ๏ธ ๋ฐฉ๋ฒ1 : File's Owner ์์ Custom Class ์ค์ File's Owner : File's Owner ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์ nib ํ์ผ์ top-level ๊ฐ์ฒด๋ค์ ์ฐธ์กฐํ ์ ์๋๋ก ํ๋ค. ์ฐ๋ฆฌ๊ฐ IBAction, IBOutlet ์ ํด๋นํ๋ ๊ฒ์ ์ฐ๊ฒฐํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ ์ด ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ํด๋น ๋ทฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ UIView ํด๋์ค์์ nib ํํ๋ก ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์ด๋! ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ด์! // CustomNavigationBar.siwft // ์ญํ : ์ปค์คํ ๋ค๋น๊ฒ์ด์ ๋ฐ class CustomNavig..
๋์ ์ผ๋ก ์ ์ ๋๋น์ ๋์ด๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์๊ตฌ์! ์ ์ ์ฌ์ด์ฆ๋ฅผ ์ ํ๋ ๊ฒ์ด๋ collectionView(_:layout:sizeForItemAt:) ๋ฉ์๋ ์์์ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ ์ ์์๊ฑฐ์์! ์ ๊ทธ๋ผ ์ด๋ป๊ฒ ์ฝ๋๋ฅผ ์ง์ผํ๋..! ์ด์ ๋ถํฐ ์๊ฐํ๋ ๋ด์ฉ์ ์ ๋ต์ ์์ด์! ์ํฉ๊ณผ ์ฌ๊ฑด์ ๋ฐ๋ผ์ ์ฌ์ฉํ์๋ฉด๋๊ณ ๋ ์ข์ ์ฝ๋๊ฐ ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์! ๋ฐฉ๋ฒ1 : collection view cell ๊ฐ์ฒด ์์ฑํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ frame ์ size ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ. ๋ฐฉ๋ฒ2 : UILabel ์ฌ์ฉํ๊ธฐ ๋ฐฉ๋ฒ3 : NSString ์ฌ์ฉํ๊ธฐ ๋ฐฉ๋ฒ4 : systemLayoutSizeFitting ์ฌ์ฉํ๊ธฐ ๋ฐฉ๋ฒ5 : boundingRect(with:options:attributes:context:..
navigation view controller ์์ pop ํ๋ ๋ฐฉ๋ฒ์ ์ด ์ธ๊ฐ์ง๋ค. popToRootViewController(animated:) : rootViewController ๋ฅผ ์ ์ธํ ๋ชจ๋ view controller ๋ฅผ pop ํ๋ค. popToViewController(_:animated:) : ํน์ viewController ๊ฐ navigation stack ์ ๋งจ ์์ ์ฌ๋๊น์ง pop ํ๋ค. popViewController(animated:) : navigation stack ์์ view controller ๋ฅผ pop ํ๋ค. ๋ง์ง๋ง popViewController(animated:) ๋ฉ์๋๋ ์ฐ๋ฆฌ๊ฐ ์์ฃผ ์ฌ์ฉํด๋ดค์ผ๋ ์์ 2๊ฐ ๋ฉ์๋์ ๋ํด์ ์์๋ณด์. ๋ค์์ ์ฝ๋๋ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค..
๋ด์ฉ ๋ค์ด์บ์คํ ์ ์บ์คํ ํ์ ์ฒดํน ํ์ ์บ์คํ ์ instance ์ ์ ํ์ ํ์ธํ๊ฑฐ๋ ํด๋น instance๋ฅผ ์์ฒด ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ์์ ๋ถ๋ชจ ํด๋์ค ๋๋ ์์ ํด๋์ค๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฐ์ฐ์์๋ is ์ as ๊ฐ ์๋ค. ๋ค์ด์บ์คํ ๋ค์ด์บ์คํ ์ ๋ถ๋ชจ ํด๋์ค์ ํ์ ์ ์์ ํด๋์ค์ ํ์ ์ผ๋ก ๋ฎ์ถฐ์ ํ๋ณํํ๋ ๊ฒ์ ๋ค์ด์บ์คํ ์ด๋ผ๊ณ ๋งํ๋ค.(๋ถ๋ชจ ํด๋์ค ์ธ์คํด์ค๋ฅผ ์์ ํด๋์ค์ ํ์ ์ผ๋ก ์ฐธ์กฐํ๋ค.) ๋ค์ด์บ์คํ ์๋ 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. as? : ๋ณํ์ด ์ฑ๊ณต ์ ์ต์ ๋ ๊ฐ์ ๊ฐ์ง๋ฉฐ ์คํจ ์ nil ๋ฐํ as! : ๊ฐ์ ํ์ ๋ณํ ์๋. ์ฑ๊ณต ์ ์ธ๋ํ๋ ๊ฐ์ ๊ฐ์ง๋ฉฐ ์คํจ ์ ๋ฐํ์ ์๋ฌ ๋ฐ์ ๐ง as? as! ์์๋ฅผ ์ดํด๋ด๋ณด์ ๋ค์๊ณผ ๊ฐ์ด ํ๋ฉด ์ ํํ ๋ as? ๋ฅผ ์ฌ์ฉํ๋ค. ์ฐ์ instantiateView..
์ค๋์ ์ ๋ ฌ ํจ์์ธ sorted(by:) ๋ฅผ ๊ณต๋ถํด๋ณด๋ค๊ฐ ์๊ธด ๊ถ๊ธ์ฆ์ ์๊ฐํด๋ณผ๊ฒ์ฌ ๋จผ์ , ๊ฐ๋จํ๊ฒ ํฐ ์ซ์๋๋ก ์ ๋ ฌ์ ํด๋ณผ๊น์? ์ค.. ๊ทธ๋ฐ๋ฐ ์ด๋ฐ ์ฝ๋๋ ์๋๋ฐ์..? let reversedNumber = [1,4,5,2,9].sorted(by: >) // reversedNumber ๋ [9, 5, 4, 2, 1] Int ํ ๋ฐฐ์ด์ ๊ฐ์ง๋๋ค. let reversedNumber = [1,4,5,2,9].sorted(by: { $0 > $1 }) // .....? ์ ์๋ง ์ด๊ฒ ๋ฌด์จ ์ผ์ด์ฃ ? ๊ทธ๋ฌ๋ฉด by ๋ผ๋ argument ์ ์๋ฃํ์ > ์ ๊ฐ์ ์ฐ์ฌ์์ธ๊ฐ์..? ์ฐ์ฐ์๋ผ๋ ์๋ฃํ์ด.. ์๋์..? ์๋๋ฉด ํด๋ก์ ..? ์ด์ง์ด์งํ๋ค์ ๐ต๐ซ ์ผ๋จ sorted(by:) ํจ์์ ๋ํด์ ์์๋ด ์๋ค. func ..
- OpenSourceLibrary
- Algorithm
- containerBackground
- watchOS
- github
- APNS
- Swift
- WidgetKit
- Firebase
- MOYA
- SwiftUI
- rxswift
- Protocol
- IOS
- WWDC
- Notification
- ์๋ฒํต์
- configurable widget
- Widget
- Objective-C
- 2022 KAKAO TECH INTERNSHIP
- urlsession
- projectsetting
- CloneCoding
- RxCocoa
- WWDC22
- UserDefaults
- async/await
- YPImagePicker
- MVVM
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday