반응형

iOS 197

[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

[iOS, Swift] 현재 뷰 이미지로 변경하기 UIView to UIImage

Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. extension UIView { func asImage() -> UIImage { let renderer = UIGraphicsImageRenderer(bounds: bounds) return renderer.image { rendererContext in layer.render(in: rendererContext.cgContext) } } } 아이폰 13환경에서 이미지 600장 이상 변환 시 메모리 부족으로 Cannot allocate memory 오류 발생 extension UIView { func asImage2() -> UIImage { UIGraphicsBeginImageContext(self.bounds.size) se..

iOS/코드조각 2022.06.22

[iOS, Swift] DLRadioButton 이미지, 타이틀 사이 거리 늘리기

iOS 15, Xcode 13.31, Swift 5, UIKit 환경에서 진행했습니다. DLRadioButton 라이브러리를 갖고와서 라디오버튼을 구현하려고 하는데, marginWidth 속성을 입력해도 버튼과 타이틀 사이의 거리가 조정이 안 되었다. iOS 15 이상부터는 titleEdgeInsets 속성이 적용되지 않고 button.configuration.imagePadding으로 거리를 조정해주어야한다. if #available(iOS 15.0, *) { // iOS 15이상 설정 radioBtn.configuration?.imagePadding = 10 } else { radioBtn.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, rig..

iOS/코드조각 2022.06.16
반응형