์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- tableView
- TCA
- Xcode
- designpattern
- rxcocoa
- realm
- reactorkit
- visionOS
- Kuring
- Swfit
- ํ๋ก๊ทธ๋๋จธ์ค
- raywenderlich
- SnapKit
- UIKit
- Flutter
- Lv2
- combine
- CollectionView
- ios
- node.js
- arkit
- BFS
- swift
- ํจ์คํธ์บ ํผ์ค
- MVVM
- BOJ
- ๋ฐฑ์ค
- RxSwift
- SwiftUI
- XCTest
- Today
- Total
๋ชฉ๋กiOSํ๋ก์ ํธ/๐ชท ๋๊ตฟํด์ปคํค(HappyHouse) (13)
lgvv98
โ ์ด๋ฒ ์๊ฐ์๋ rx๋ฅผ ์ด์ฉํ์ฌ ํ ์คํธ ํ๋์ ์ต๋ ๊ธ์ ๊ธธ์ด๋ฅผ ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์ ๊ธฐ ๋ณด๋ฉด ๋ ,์,์ผ์ ๊ฒฝ์ฐ์๋ ๊ธ์ ๊ธธ์ด๋ฅผ ์ ํํ ํ์๊ฐ ์์ด. ์๋ฅผ ๋ค๋ฉด, ๋ ๋์ ๊ฒฝ์ฐ ์์ฃผ ์์์ ์ธ ๋ฒ์์์ 4๊ธ์๋ผ๋๊ฐ, ์,์ผ,์,๋ถ์ ์ต๋ 2๊ธ์ ๊น์ง๋ง ๊ฐ์ง ์ ์์ง. ๊ทธ๋ผ ์ด๊ฑธ ์ด๋ป๊ฒ ์ ํํ ์ ์์๊น? rx๋ฅผ ์ด์ฉํ์ฌ! โ ๊ธ์ ๊ธธ์ด๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ 1๏ธโฃ ๊ธ์ ๊ธธ์ด๋ฅผ ์ ํํ๋ ํจ์๋ฅผ ์์ฑํ๋ค. private func HourTextField2(_ str : String) { // ์๊ฐ ์ต๋ 2์๋ฆฌ๊น์ง if str.count > 2 { let index = str.index(str.startIndex, offsetBy: 2) self.HourTextField.text = String(..
โ ํ ์ด๋ธ ๋ทฐ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ฃผ๋ ์ฝ๋ UITableViewDelegate ์์๋ฐ์์ผ ํ๋ค. override func layoutSubviews() { // ํ ์ด๋ธ ๋ทฐ ์ ์ฌ์ด์ ๊ฐ๊ฒฉ super.layoutSubviews() contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 0, left: 0, bottom: 12, right: 0)) } ์ ๋ถ๋ถ์ด ํ ์ด๋ธ ๋ทฐ์์ ์ ๊ฐ์ ๊ฐ๊ฒฉ์ ์ค ๋ชจ์ต์ด๋ค. (์ฐธ๊ณ ) https://ios-development.tistory.com/655 [iOS - swift] tableView cell ๊ฐ ๊ฐ๊ฒฉ ์ค์ , cell ์ ํ UI (contentView.frame.inset, setSelected) Cell ..
โ ์ด๋ฒ ์๊ฐ์๋ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์ฐ์ ์๋์ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ ์์ฒ๋ผ ๊ตฌํ์ ํด์ผํ๋ ์ผ์ด ์๊ฒผ๋๋ฐ, ๋๋ ์ปฌ๋ ์ ๋ทฐ๋ฅผ ์ด์ฉํด์ ๊ตฌํํ์ด. ๊ทธ๋ฌ๋ ๋ง์ง๋ง index์ ๊ฒฝ์ฐ์๋ ์์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผํ๋๋ฐ, ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ๊ตฌํ ํ์์ฑ์ ๋๊ผ์ด. โ ์ปฌ๋ ์ ๋ทฐ์์ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋ extension UICollectionView { // ๋ง์ง๋ง ์ธ๋ฑ์ค ์ฐพ๋ ํจ์ ๊ตฌํํ์ฌ collectionView์ชฝ์ ๋ฃ์ด๋ Util๋ก ๋์ค์ ๋นผ๊ธฐ func lastIndexpath() -> IndexPath { let section = max(numberOfSections - 1, 0) let row = max(numberOfItems(inSection: sect..
โ ์ด๋ฒ ์๊ฐ์๋ ์คํ๋ทฐ ์ฌ์ด์์ ๊ฐ๊ฒฉ์ ์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์คํ๋ทฐ๋ฅผ ํ์ฉํ๊ธฐ ์ํด์๋ ์ ๊ธฐ์ ํ๋์ฉ ํด๋ณด์. Alignment์ Distribution์ ํ์ฉํ๋ฉด ok โ ์ค์ ๊ฐ๋ฐ์์ ์คํ๋ทฐ ๋๋ฌธ์ ๊ณ ๋ฏผํ๋ ๊ฒ ๐ ํ ์คํธํ๋์ ์ ๋ ฅ๊ฐ์ด ์ฃผ์ด์ง์ง ์์ ์ํฉ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ ๊น์? ์์ ๋ณด์ด๋ ์ด๋ฏธ์ง๋ฅผ ๊ตฌํํด์ผ ํ๋๋ฐ ์คํ๋ทฐ๋ฅผ ์ฌ์ฉํด์ ๊ตฌํ์ ๋ฐ๊ฒฌํ ๋ฌธ์ ์ ์ด ์คํ๋ทฐ - ํ ์คํธํ๋(์) - ๋ ์ด๋ธ(์ฝ๋ก ) - ํ ์คํธํ๋(๋ถ) ์ด๋ฐ์์ผ๋ก ๋ฃ์๋๋ฐ, ์ฒ์์๋ ํ ์คํธ ํ๋์ ์ ๋ ฅ๊ฐ์ด ์ฃผ์ด์ง์ง ์์์(ํ ์คํธ ํ๋์ ๊ธธ์ด๊ฐ 0์ด๋ผ๋ ๋ง) UI๊ฐ ์ด๊ธฐ์ ๋ฐฐ์น๋ ๋ ๋ ์ด๋ธ์ด๋ถ์ ๋ด๋นํ๋ ํ ์คํธ ํ๋๊ฐ ๋๋จธ์ง ๋ชจ๋ ์์ญ์ ์ต์ง๋ก ์ฑ์ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. ๋ฌด์จ ๋ง์ด๋๋ฉด, ์คํ๋ทฐ์ ๊ธธ์ด๋ฅผ 10์ด..
SnapKit SafeArea ๊ณ ๋ คํ๊ธฐ โ ์ด๋ฒ ์๊ฐ์๋ SanpKit์ ์ฌ์ฉํ๋ฉด์ SafeArea๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. - (์ ๋ฐ์ดํธ) 2022.01.21 : ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ๋ณด๋ ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋ฐ๊ฒฌํจ. - (์ ๋ฐ์ดํธ) 2022.05.08: SnapKit ์ ๋ฆฌ ๊ธ ํฌ์คํ ์ถ๊ฐ - ์๋ ํฌ์คํ ์์ ์ค๋ ํท์ ๋ํ ์ถ๊ฐ์ ์ธ ์ฌํญ์ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ ํฉ๋๋ค. ๋ํ ๋ด๊ฐ ๋ณด์๋ ๊ธ์ด ๋ ์ข์์. 2021.08.25 - [iOS/SnapKit] - iOS Snapkit ๋๋ง์ ์ ๋ฆฌ ๋ชจ์ iOS Snapkit ๋๋ง์ ์ ๋ฆฌ ๋ชจ์ โ ์ด ํฌ์คํ ์ snapkit์ ๋ํด์ ์ด๋์ ๋ ๊ณต๋ถ๋ฅผ ๋ง์น๊ณ ๋ ํ ๊ตฌ๊ธ๋ง๊ณผ ๊นํ๋ธ๋ฅผ ๋์๋ค๋๋ฉด์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํด๋๋ฉด ์ข์ ๊ฒ ๊ฐ์ ์๋ฃ๋ฅผ ๋ค์ ํ๋ฒ ๋ชจ์์ ์ ๋ฆฌํ๋..
โ ์ด๋ฒ ์๊ฐ์๋ ์ปค์คํ ํฐํธ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. 1. ํฐํธ๊ฐ ๋ค์ด์๋ ํ์ผ์ ํ๋ก์ ํธ ์์ ๋ฃ๋๋ค. 2. ํฐํธ ๋ถ๋ถ์ ์ปค์คํ ์ผ๋ก ๋ฐ๊ฟ์ ๋ด๊ฐ ๋ฃ์ ํฐํธ๊ฐ ์ ์ฉ๋๋์ง ํ์ธํ๋ค.