본문 바로가기

전체 글37

RxSwift) UITextView 동적 높이 조절 입력 값에 따라 텍스트뷰의 높이를 바꾸는법 isScrollEnabled: 사이즈 증가를 위해 스크롤을 막는다 lessThanOrEqualTo: 최대높이를 설정 한다. let chattingTextView = { let view = UITextView() view.backgroundColor = Colors.backgroundPrimary.color view.font = Font.body.fontWithLineHeight() view.isScrollEnabled = false return view }() chattingTextView.snp.makeConstraints { make in make.height.lessThanOrEqualTo(54) } rx.didChange: 텍스트뷰의 텍스트가 변경될 때 .. 2024. 2. 6.
Xcode)xcodeproj 안열릴때 ( The project ‘projectName’ is damaged and cannot be opened due to a parse error. Examine the project file for invalid edits or unresolved source control conflicts.) 충돌이 있어 열리지않는다. 해결방법 1. Project.xcodeproj를 마우스 우클릭한다. 2. 패키지 내용 표시 옵션 선택 3. .pbxproj 파일을 연다 4. 충돌을 수정할 수 있다 > develop 다음과 같은 글자를 지워 수동 병합한다. 2024. 1. 4.
UIKit) UIColor (hex code 사용하기) extension을 통해 편의생성자를 구현해서 사용합니다. extension UIColor { convenience init(hexCode: String, alpha: CGFloat = 1.0) { var hexFormatted: String = hexCode.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased() if hexFormatted.hasPrefix("#") { hexFormatted = String(hexFormatted.dropFirst()) } assert(hexFormatted.count == 6, "Invalid hex code used.") var rgbValue: UInt64 = 0 Scanner(strin.. 2024. 1. 4.
WeatherKit 사용하기 앱을 개발하며 날씨를 받아오는 기능이 필요해서 WeatherKit 을 사용해봤습니다. WeatherKit은 애플 개발자 계정이 있어야 사용가능합니다~ 제공 데이터 더 자세한 내용은 WWDC2022 와 데이터셋 을 확인 해주세요 1. Key 생성 인증서 페이지에서 key를 생성합니다. 2. AppID 생성 번들 아이디는 프로젝트의 번들아이디와 같아야 합니다. capabilities 와 appservices 에서 weatherKit 을 체크합니다. 3. Xcode 기본 설정 Capablility 를 클릭해서 weatherKit 을 추가합니다. 날씨 정보 받기 사용자의 위치를 받기위해 설정 합니다. class WeatherTestViewController: UIViewController { let weathe.. 2023. 11. 29.
RxSwift) textField.rx.text 텍스트가 변경될 때만 이벤트 감지 텍스트 필드의 텍스트가 변경 될 때가 아닌상태에서도 이벤트를 방출 하고있어서 찾아봤습니다. 문제점 회원가입을 받는 화면에서 이메일 중복 확인을 하는 기능이 있습니다. 중복 확인을 한 후에 이메일을 변경할 경우 다시 중복체크를 하기위해 값을 false 로 넘겨 주고 있었는데 다음 텍스트 필드로 넘어갈 때 이벤트가 방출되는 현상이 있었습니다. let input = SignUpViewModel.Input( emailTextfieldChange: mainView.emailTextField.rx.text.orEmpty, // 생략 ) input.emailTextfieldChange .bind(with: self) { owner, text in print(text) owner.emailText = text owne.. 2023. 11. 24.
dyld[46471]: Library not loaded: @rpath/libXCTestSwiftSupport.dylib Referenced from: dyld[46471]: Library not loaded: @rpath/libXCTestSwiftSupport.dylib Referenced from: /Users/isangnam/Library/Developer/Xcode/DerivedData/SCloset-bgejcwkdqhelarambdyzqvxxtzsi/Build/Products/Debug-iphonesimulator/PackageFrameworks/RxTest.framework/RxTest RxTest와 RxBlocking은 내 앱 타겟에 바로 작성하지 않고 테스트 타겟에 작성해야한다. 그래서 우선 테스트 타겟부터 생성해야한다. 우선 사용하지 않기때문에 삭제한다. 참고 https://velog.io/@sun02/dyld-Library-not-lo.. 2023. 11. 15.