하위 클래스가 UITableViewCell이고 하위 클래스가 UITableViewController입니다. 내 custom cell로 tableview를 popualating하고있다.Swift UITableViewCell Subview 레이아웃 업데이트 지연
내 스토리 보드에 UITableViewCell을 만들고 클래스에 내 사용자 지정 UITableViewCell Swift 파일을 만들고 식별자를 부여했습니다. 상단 공간 제약에 대한
상수 : 나는 다음과 같은 제약과 함께있는 UIImageView이 (스토리 보드) 내 사용자 지정 셀에
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("myIdentifier", forIndexPath: indexPath indexPath)
return cell
}
: 그럼 난과 컨트롤러의 세포를 만들 0인데, ImageView 상단이 셀 위쪽과 같을 것이라고 생각했습니다.
하지만, 내 셀의 이미지는 약간 아래로 밀어 :
흰색 그냥 테이블 섹션 헤더, 즉 완벽하게 작동합니다. 그러나 이미지 위에 나타나는 주황색 갭 (오렌지색이 셀의 배경색 임)을 볼 수 있습니다.
나는 사용자 정의 셀로 awakeFromNib에서 이미지 프레임 설정 시도 :@IBOutlet weak var img: UIImageView!
override func awakeFromNib() {
img.frame = CGRectMake(0, 0, img.frame.width, img.frame.height)
}
을하지만이 영향을 미치지 않았다, 그래서 나는 layoutSubviews의 프레임 설정을 시도 :
override func layoutSubviews() {
img.frame = CGRectMake(0, 0, img.frame.width, img.frame.height)
}
이 일을하지만 아래로 스크롤하고 TableView에서 백업 한 후 첫 번째 두 셀은 주황색 틈이 있지만 세 번째 셀로 스크롤하여 백업하면 갭이 사라집니다.
왜 이런 일이 일어나는 지 알고 계십니까? 이미지 뷰를 아래로 스크롤하고 백업 한 후에가 아니라 즉시 (0, 0)에 배치 할 수 있습니까?
와우, 이상한. 이것은 효과가 있었다. 나는 이전에'img.frame.minY'가 8이되었다는 것을 알았습니다. 제약 조건을 -8로 설정하려고하지 않았습니다. 감사. – user3674647