42일차 TIL
팀프로젝트 : MegaStruct
스파르타코딩클럽
이건 코어데이터 내용을 화면에 표시하는 함수인데, 이 yyyy/MM/dd, hh:mm a 부분을 정리하려고 가져옴
"yyyy": 이것은 연도(year)를 나타내는 포맷 지정자
"MM": 이것은 월(Month)을 나타내는 포맷 지정자
"dd": 이것은 일(day)을 나타내는 포맷 지정자
"HH": 이것은 시(Hour)를 나타내는 포맷 지정자 ( 24시간 형식, 0~23 )
"hh": 이것은 시(hour)를 나타내는 포맷 지정자 ( 12시간 형식, 1~12 or 0~11 )
"mm": 이것은 분(minuite)을 나타내는 포맷 지정자
"ss": 이것은 초(second)를 나타내는 포맷 지정자
문자를 한번만 사용하면 한자리 숫자에서 01이 아닌 1로 표기된다. ( ex. "H" )
그리고 기존에 그냥 UIView로 만들어 놓은 부분을 TableView로 바꿔주는 작업을 했는데,,
어떤 방식으로 하는 게 좋을지? 고민을 많이 했다.. ㅜ
이미 스크롤 뷰로 구현을 해놓은 상태라서,, 테이블 뷰를 넣으면 스크롤이 겹치니까.. 어떻게 하지.. 하다가
결국 선택한 방법은 tableView.isScrollEnabled = false를 사용하여 테이블 뷰의 스크롤을 비활성화하고,
테이블 뷰의 높이를 계산해서 그만큼 스크롤 뷰 사이즈를 늘리는? 방식으로 해보려고 한다..
viewDidLayoutSubviews()
: 해당 뷰가 방금 하위 뷰를 배치했음을 뷰 컨트롤러에 알리기 위해 호출
ㄴ 뷰가 생성되거나 회전, 크기 조정 등의 변화가 발생할 때 호출되어 뷰의 레이아웃을 조정하거나 추가적인 작업을 수행할 수 있다
https://developer.apple.com/documentation/uikit/uiviewcontroller/1621398-viewdidlayoutsubviews
동적인 뷰를 조정할 때 사용한다 !
뷰의 크기나 위치가 동적으로 변할 때, 이를 감지하고 적절한 처리가 가능!
예를 들어, 테이블 뷰의 높이를 계산하여 적절히 조정하거나, 스크롤 뷰의 콘텐츠 사이즈를 설정하는 등의 작업을 수행할 수 있다
나의 이 작업을 위한,, 메서드였던 것 같음 ㅋ
위에 코드대로 하면 이렇게 내가 생각한 대로 잘 나오긴 하는데,, 스크롤을 끝까지 내려야 하고 , 손을 떼면 이렇게 가려진다ㅜㅜ
그래서 스크롤 뷰의 콘텐츠 사이즈에서 height에 막 300씩 더하고 그랬는데 수정이 안 됐음.. ㅠ
근데 이렇게 scrollView.contentInset = UIEdgeInsets(top:0, left:0, bottom:300, right:0)을 해주면 밑에 공간이 생겨서
잘 나오는 것을 확인할 수 있음
굿!
근데 저 선 거슬리는데,,,, ㆅㆅ
tableView.separatorStyle = .none
테이블 뷰에서 셀 간의 구분선을 없애는 방법은 다양하다.. !
스토리보드에서 설정할 수도 있고, 색상을 clear 하게 해 줄 수도 있고, .none으로 없앨 수도 있음!
나는 없애버리려고 한다 ㅎㅎ ^^
viewDidLoad에 넣어줬더니 깔끔하게 없어졌다 ㅎㅎ 👍🏻