23.08.28 월
·
Study/🌱 SeSAC
💡 레이아웃 코드 분리하기 BaseViewController BaseViewController를 생성하여 VC에 공통적으로 사용하는 설정 요소들을 작성하고 뷰 컨트롤러들이 상속 받는 형식으로 구성 뷰 객체에 대한 UI나 레이아웃, 토스트 메세지, 얼럿, 임포트 등 뷰컨에서 공통적으로 작성되는 코드를 구조화 함으로써 가독성도 높이고 코드 중복도 줄일 수 있다. ✅ view controller의 레이아웃 코드 분리하기 BaseView를 상속받는 AddView → AddViewController의 루트 뷰로 설정할 것 자기 자신에게 적용하는 것이기 때문에 view는 지워도 된다. AddView 클래스 인스턴스를 생성 mainView를 루트 뷰로 교체를 해줘야 한다. 💡 RootView - loadView() ..
23.08.25 금
·
Study/🌱 SeSAC
tableview register 등등 클로저 구문에 imageview frame 지정 시점 💡 CustomTableViewCell 구현하기 ✔️ UITableViewCell 생성 → 인터페이스 빌더 상에서 셀을 구현할 때 작동한다. ✔️ view.addSubView / contentView.addSubView view.addSubView → uiViewController의 변경할 수 없는 기본 view 위에 얹는 것 tableViewCell은 Content View위에 다른 뷰들이 올라가는 것이다. ⇒ 때문에 addSubView를 할 때 view가 아닌 contentView 위에 올려야 한다! contentView가 아닌 tableViewCell위에 올리는 것은 오류가 발생하지는 않지만 레이아웃 적용이..
23.08.24 목
·
Study/🌱 SeSAC
💡 카메라 권한: 촬영, 갤러리, 마이크 ImagePickerControlller → deprecated 예정 ⇒ PHPicker 🔎 갤러리에 접근하기 인스턴스 가져오기 let picker = UIImagePickerController() photoLibrary, savedPhotosAlbum → will be deprecated camera는 아직 사용 가능 available - 갤러리에 접근할 수 있는지 권한 단독으로 사진만 가져오고 싶다 → 권한 안물어봐도 됨 민감한 데이터 혹은 정보 사용 등 경우 권한 물어봐야 함 ⇒ 갤러리를 가지고 오는 권한과 갤러리 내 데이터 사용하는 권한은 다름! UIImagePickerController는 navigationController를 상속받아 사용한다. ✅ 사진..
23.08.23 수
·
Study/🌱 SeSAC
leading / leadingMargin constraints to margin 체크박스 체크 유무 차이 위치 서비스 활성화 → 사용자 권한 확인 → 권한 결정 안되어 있다면 얼럿 → 바뀐 권한 체크 → 다시 권한 확인 → 허용 authorizedWhenInUse → didUpdateLocation viewDidLoad에서 권한을 체크하는 함수를 호출하지 않아도 권한 변경 함수가 호출이 된다. 주석처리 하지 않는 것이 좋다. 버그 이슈 🐞 버그 navigationController를 달고 화면 전환을 하면 권한 변경 메서드가 호출되지 않는다. viewdidload가 기본적으로 호출하는 것은 아니다. nav나 tab 등을 달고 화면 전환을 해야하는 경우라면 권한 체크 함수를 명시적으로 viewDidLoa..