xib가있는 사용자 지정 UITableViewCell 하위 클래스가 있습니다. 모든 요소의 제약은 IB에서 설정됩니다.
테스트 레이블 (UILabel 요소)을 살펴 보겠습니다. 3 가지 제약이 있습니다.
후행 공간 슈퍼 뷰 (셀의 내용보기)까지로 설정한다 (12) .
superview 의 선행 공간 은 12 로 설정됩니다.
superview 의 상단 공간 은 5 로 설정됩니다.
하지만 빌드하고 실행할 때 왼쪽 시뮬레이터의 여백과 라벨의 앞쪽 사이의 실제 거리는 20입니다 ! 상단 공간도 마찬가지입니다. 예상되는 5px 이상입니다.
레이블에 긴 이름을 지정하면 크기가 조정되고 후행 공간이 예상대로 정확히 12px에 정확하게 배치됩니다.
동일한 상황이 테스트 레이블 아래에 2 개의 이미지가 있습니다. 선행 공간은 12로 설정되어 있지만 실제로는 콘텐츠보기의 왼쪽 여백에서 20 픽셀 떨어져 있습니다.
문제의 원인은 무엇입니까?
기본적으로 iOS 8에는 여백에 8px 패딩이 있습니다 (뷰의 여백 속성은 네면 모두에 대해 8px 패딩이있는 UIEdgeInset입니다). 행간 제한에 12px를 설정하면 여백의 8px 패딩도 제한에 추가되므로 행간 제한이 20px입니다.
이 문제를 해결하려면 선행 제한에 대한 " Relative to Margin "옵션을 선택 취소하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다