210614 Mon

sunnywhynot·2021년 7월 4일
0

Today I Learned

목록 보기
77/88

UICollectionViewCompositionalLayout

Class
UICollectionViewCompositionalLayout

A layout object that lets you combine items in highly adaptive and flexible visual arrangements.

func createBasicListLayout() -> UICollectionViewLayout { 
    let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),                                  
                                         heightDimension: .fractionalHeight(1.0))    
    let item = NSCollectionLayoutItem(layoutSize: itemSize)  
  
    let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),                                          
                                          heightDimension: .absolute(44))    
    let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize,                                                   
                                                     subitems: [item])  
  
    let section = NSCollectionLayoutSection(group: group)    

    let layout = UICollectionViewCompositionalLayout(section: section)    
    return layout
}

[iOS] UICollectionViewLayout 톺아보기

[iOS] UICollectionView 톺아보기 - 4

문제점/고민한점 → 해결방안

후.. UI 언제 벗어나지? ^.ㅠ

UI 누가 쉽다고 했음...? ㅜㅜㅋ 🤔

코다 센세의 팁)

네비게이션 뷰컨에서 시작하면

그 다음 뷰에서도 네비게이션 바가 유지됨

네비게이션 뷰컨하면

자동적으로 뷰가 생김

그 뷰에다가 subview로 테이블뷰를 넣음

스택뷰 ???

컬렉션뷰 셀 화면에 나타나지 않음

지난 번엔 이미지의 크기를 지정해주지 않아서 셀이 화면에 안 떴지만

이번엔 크기를 지정해줬음에도 흰 화면만 나타남...

해결 방법: UIImageView 이름을 item썸네일에서 itemImage로 변경하는 과정에서

코드에서는 변경을 했지만

이상하게도? 스토리보드에서는 변경 전의 item썸네일 이름으로도 중복 연결이 돼있었다.

그래도 빌드는 돼서 문제인지 발견은 못하고 있었음

(옐로우 경고창이 떴지만 무시하고 있었음 😅)

이 부분을 제거하고

변경 후의 내용만 남겨두니

셀이 화면에 떴다 👏

교훈: 변경 과정에서

변경 전의 흔적이 혹시 남아있는건 아닌지?

꼼꼼히 확인해보쟈!!!

덕복 & 코다 & 스티븐 & 키오의 도움으로 많이 배웠당 👍👍👍

컬렉션뷰 아래 짤림

→ 컬렉션뷰 xib 셀 크기 조절하는 방법

UICollectionViewDelegateFlowLayout 채택 후

return 값에 CGSize로 크기 조정해줌

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: 200, height: 250)
    }

Protocol
UICollectionViewDelegateFlowLayout

The methods that let you coordinate with a flow layout object to implement a grid-based layout.

컬렉션뷰 dynamic height

[iOS] UICollectionViewCell Dynamic Height, 동적 높이 구현하기 with Dummy Cell

컬렉션뷰 셀 테두리 주는 법

cell.layer.borderWidth = 1
cell.layer.borderColor = UIColor.gray.cgColor

How to add a border outline color to a UIView

→ 뷰에다 해주는 걸 똑같이 셀에다 해주면 된다.

되긴 됐는데 각지게 됨

by 코다센세

쉬운게 하나도 없음

위가르디 움~ 레비 어~우~사~


cell.layer.cornerRadius = 10

cornerRadius 적용해도 안된다 생각했는데

숫자를 10으로 키워주니 원하는 모양으로 됨!

profile
iOS Developer

0개의 댓글