반응형

iOS/코드조각 121

[iOS, Swift] ScrollView 키보드 화면 처리하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShowInScroll), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHideInScroll), name: UIResponder.keyboardWillHideNotification, object: nil) Notification 등록 @objc func keyboardWillSh..

iOS/코드조각 2022.07.12

[iOS, Swift] ScrollView endEditing 사용하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. override func viewDidLoad() { super.viewDidLoad() let scrollTapGesture = UITapGestureRecognizer(target: self, action: #selector(tapScrollView)) scrollView.addGestureRecognizer(scrollTapGesture) } @objc func tapScrollView() { // ScrollView EndEditing self.view.endEditing(true) } scrollView로 감싸진 상황에서는 touchesBegan 함수가 작동하지 않기때문에, scrollView에 탭제스쳐를..

iOS/코드조각 2022.07.12

[iOS, Swift] 정규식(이메일, 아이디, 닉네임, 패스워드, 전화번호)

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. enum RegExModel { static let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}" static let idRegEx = "[A-Za-z0-9]{5,13}" static let nickRegEx = "[가-힣A-Za-z0-9]{2,7}" static let pwRegEx = "[A-Za-z0-9!_@$%^&+=]{8,20}" static let phoneRegEx = "^[0-9+]{0,1}+[0-9]{5,16}$" } private func isValidEmail() -> Bool { // 이메일 체크 let tfEmailText =..

iOS/코드조각 2022.07.12

[iOS, Swift] CollectionView 초기 position 변경하기

iOS 15.5, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. customCollectionView.isPagingEnabled = false customCollectionView.scrollToItem(at: IndexPath(item: 59, section: 0), at: .bottom, animated: false) customCollectionView.isPagingEnabled = true collectionView 초기 아이템을 설정해주는 예제입니다. isPagingEnabled 설정이 true로 되어있다면, scrollToItem 메소드가 안 먹는 버그가 있어 isPagingEnabled 설정을 false로 바꾸어주었다가, 끝난 뒤 true로 설정하면 됩니다.

iOS/코드조각 2022.07.06

[iOS, Swift] 스크롤 뷰 만들기 programmatic

iOS 15, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. // 스크롤뷰와 컨텐츠를 담을 contentView 생성 private let contentScrollView: UIScrollView = { let scrollView = UIScrollView() scrollView.backgroundColor = .white scrollView.showsVerticalScrollIndicator = true return scrollView }() private let contentView: UIView = { let view = UIView() return view }() // 스크롤뷰 view에 등록 view.addSubview(contentScrollView) contentS..

iOS/코드조각 2022.06.22

[iOS, Swift] 두개 이상의 뷰에 tapGesture 추가하기

iOS 15, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. func setTapGesture() -> UITapGestureRecognizer { // TapGestureRecognizer 생성 let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(sender:))) return tapGesture } @objc func handleTap(sender: UITapGestureRecognizer) { // tap 하였을 때 실행되는 함수 print("handleTap") } topViewId.addGestureRecognizer(setTapGesture()) // 뷰에 tapGestur..

iOS/코드조각 2022.06.22

[iOS, Swift] UIColor hex값 사용하기(extension)

iOS 15, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. extension UIColor { convenience init(hex: String) { let scanner = Scanner(string: hex) _ = scanner.scanString("#") var rgb:UInt64 = 0 scanner.scanHexInt64(&rgb) let r = Double((rgb >> 16) & 0xFF) / 255.0 let g = Double((rgb >> 8) & 0xFF) / 255.0 let b = Double((rgb >> 0) & 0xFF) / 255.0 self.init(red:r, green: g, blue: b, alpha: 1) } } 사용법 UIColor..

iOS/코드조각 2022.06.22
반응형