일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Protocol
- Clean Code
- combine
- ios
- swift documentation
- HIG
- map
- tableView
- 스위프트
- UICollectionView
- 리펙토링
- uitableview
- 리팩토링
- uiscrollview
- clean architecture
- SWIFT
- MVVM
- RxCocoa
- collectionview
- rxswift
- 클린 코드
- swiftUI
- ribs
- Xcode
- 애니메이션
- 리펙터링
- Human interface guide
- UITextView
- Refactoring
- Observable
- Today
- Total
목록키보드 (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tpqov/btsMa6AEKS5/BqncySyXk0QiTDyW0T7ogk/img.gif)
SwiftUI에서 키보드 높이 구하는 방법Combine을 사용하지 않으면 KeyboardInfo라는 클래스에서 기존 UIKit방식대로 NotificationCenter로 등록하는 방법이 있음public class KeyboardInfo: ObservableObject { public static var shared = KeyboardInfo() @Published public var height: CGFloat = 0 private init() { NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardChanged), name: UIApplication.keyboardWillS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvMMrc/btsLQ7073RG/gUfFV4YLnUzjZcqmMuKAh0/img.gif)
키보드와 스크롤 뷰스크롤 뷰 안에 있는 TextField를 탭하여 키보드가 등장할 때, 키보드와 TextField 사이의 거리 최소 32만큼 스크롤링 되는 방법?ex) 키보드와 포커싱된 TextField 사이의 거리를 최소 32로 설정한 예제구현 아이디어키보드 높이가 변하는 이벤트를 감지키보드가 등장하면 safeAreaPadding을 32로 설정, 키보드가 다시 들어가면 0으로 설정구현키보드 이벤트 감지키보드 이벤트를 감지하는 ObservableObject 성격의 클래스 구현public class KeyboardInfo: ObservableObject { public static var shared = KeyboardInfo() @Published public var height: CG..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mR6QQ/btrrI9DvUTi/SHa6raYcMKkCe7fHLIfoQ1/img.gif)
커스텀 뷰에서 뷰를 터치해도 키보드가 올라게 하는 방법 커스텀 뷰 터치 이벤트 바인딩에서 UITextField에 접근하여 becomeFirstResponder()를 호출해줄 수 있지만 커스텀 뷰를 사용할땐 UI요소가 private이 되어야 응집도가 높아지므로 다른 방법 사용 CustomView에서 becomeFirstResponder(), resignFirstResponder()를 재정의하여 사용 // MyCustomView.swift @discardableResult override func becomeFirstResponder() -> Bool { super.becomeFirstResponder() return self.textField.becomeFirstResponder() } @discardab..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dz3Aho/btreaQc1TFu/gTYGLKMfHeDgzmGk0HLt5K/img.gif)
keyboard 바로 위에 버튼 표출 구현 방법 TextField, TextView안에 내장된 inputAccessoryView 프로퍼티에 UIView 대입 UIView.addSubview로 Button 추가 textField나 TextView의 receiver가 becomeFirstResponse가 된 경우, 키보드가 표출할떄 키보드 위의 영역 nil이 디폴트값이고 따로 View를 추가하여 대입 필요 inputAccessoryView에 대입할 View 정의 lazy var accessoryView: UIView = { return UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.width, height: 72.0)) }() textFi..