return CGSize(width: (collectionView.frame.width / 4), height: (collectionView.frame.height / 3)
매번 별 생각없이 4 혹은 3으로 나누게 되면 딱 알맞게 나누어져 너비와 높이를 할당하겠구나생각하였는데 프린트에 찍힌 값은 내 예상과 많이 달랐다
당연한 결과이겠지만 / 연산자는 몫을 반환하지 내가 의도한 소숫점까지 완벽하게 나누어주지않는다
return CGSize(width: (collectionView.frame.width - 8 * 3))...
return CGSize(width: (collectionView.frame.width / 4) - 8 - 16, height: (collectionView.frame.height / 3) - 8 - 16)
grouped 스타일인 tableView를 생성하고보니 그룹마다 아랫단에 FooterView가 살짝씩보여 내가 의도한 디자인과 달라서 이를 없애고자하였다
위 그림을 보면 Header 윗 부분에 조금씩 더 벌어져있는 모습을 확인할 수 있다
이러한 부분을 없애기위해 FooterView의 높이를 0으로 지정도 해보고 UIView(frame: .zero)를 넣어보기도 했지만 내 의도와는 멀어져갔다
즉 tableHeaderView와 tableFooterView의 높이를 지정할땐 0이 아닌 다른 값으로 지정하라는 이야기이다, 또한 너비는 UITableView의 너비에 맞춰 디자인되게 된다
심지어 0으로 높이값을 리턴할 경우에 의도와는 다르게 디폴트 높이인 44로 디자인될 수 있다
여튼 위와 같은 이유로 이런 경우에 사용할 수 있는 값이 CGFloat에 leastNonzeroMagnitude이다, 이는 0과 가깝지만 0보다는 큰 수를 야기한다
tableView.sectionHeaderHeight
tableView.sectionFooterHeight
가끔 tableView를 보면 seperator가 오른쪽에는 SuperView의 오른쪽에 채워져있지만 왼쪽은 SuperView의 왼쪽과 살짝 떨어져있다
이같은 경우에 seperatorInset값의 left를 0으로 지정해주면 해결된다