가로로 스크롤하고 요소를 '회사'배열에 표시하는 데 사용하여 컬렉션보기를 설정했습니다.CollectionView 셀 크기에 맞게 레이블
세포 자동 라벨 폭에 대해 크기 조정.
내가 코드 & 스토리 보드 제약을 사용했다아래이를 달성하기 :
class addTextStatus: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var companies: [String] = ["Everyone","Limited", "Friends", "Only Me", "Test Length Cells", ]
@IBOutlet weak var collectionView: UICollectionView!
@IBOutlet weak var userImage: UIImageView!
override func viewDidLoad(){
collectionView.register(UINib.init(nibName: "statusCompanyCollectionView", bundle: nil), forCellWithReuseIdentifier: "cell4")
if let flowLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
flowLayout.estimatedItemSize = CGSize(width: 1,height: 1)
}
userImage.layer.masksToBounds = false
userImage.layer.cornerRadius = userImage.frame.height/2
userImage.clipsToBounds = true
}
@IBOutlet weak var backButton: UIButton!
@IBAction func backButton(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return UIStatusBarStyle.default
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.companies.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell4 = collectionView.dequeueReusableCell(withReuseIdentifier: "cell4", for: indexPath) as! statusCompanyCollectionView
cell4.company.text = self.companies[indexPath.item]
return cell4
}
}
문제가 내가되는 라벨 뒤에있는 UIImage보기를 추가하고 지시 제약을 할당한다 그러나
라벨과 동일한 크기와 위치 여야합니다. 아래 예기치 않은 결과가 나옵니까 :
나는 다음과 달성하고자 할 때 실제로는 :
내가 뒤에 이미지를 적용하는 데 사용한 제약은 다음과 같습니다 :
흥미롭게 때 UIImage보기 대신 UIView를 사용하여 예상대로 작동하지만이 인스턴스에서 이미지보기를 사용해야합니다.
왜 이런 현상이 발생하며 어떻게이 문제를 해결합니까?
내게는 문제의 _ 그 내용이 콘텐츠 포깅 ** 및 콘텐츠 ** 압축 저항 ** 라벨에 부적절하게 구성된 우선 순위 인 것 같습니다. 부가 적으로, 스태킹 할 때 자동 레이아웃을 수행하는 것이 더 쉽게 발견 된 ['UIStackView'] (https://www.raywenderlich.com/160646/uistackview-tutorial-introducing-stack-views-2)를 사용하는 것을 고려하십시오 조회수. –