2014-10-30 4 views
1

현재 사용자 지정 tableviewcell xib 함께 작업하고 있으며 크기를 자동으로 tableview 너비 및 행의 크기를 조정하려면 원하는.셀 xib 테이블 뷰 셀 너비 및 행 높이

셀 뷰의 크기가 테이블 뷰에 자동으로 조정되지 않습니다. 그래서 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 대표자 내부의 프레임을 변경하려고 시도하지 않았습니다. 변경 사항은 반영되지 않습니다. (사실 전후에 프레임 크기를 인쇄하면 변경됩니다.)

누구든지 해결책을 알고 있습니까? 가장 좋은 경우는 셀의 프레임을 테이블 뷰의 너비와 행 높이에 자동으로 조정하는 것입니다.

편집 : 추가 조사 후 문제는 iOS8 크기 클래스와 관련이 있습니다. xib 안의 셀의 크기를 조정하면 테이블 뷰의 크기보다 큰 너비로 확장됩니다. 레이블은 중심에 있어야한다고 가정합니다 (제약 조건을 설정하고 프로그래밍 방식으로 동일한 결과를 얻었습니다). 귀하의 질문에서

내가 이해 enter image description here

+1

'- (CGFloat) tableView : (UITableView *) tableView heightForRowAtIndexPath : (NSIndexPath *) indexPath ' – memmons

+0

무엇을 의미 하는가, 조정하지 않습니까? 셀이 테이블 뷰의 전체 너비가 아닌가? – rdelmar

+0

@rdelmar 네, 크거나 작은 경우 셀은 xib에 정의 된 너비를 유지합니다. – Deivuh

답변

6

문제를 발견하고 내 실수였습니다. ViewController 내부의 TableView에 제약 조건을 설정하지 않았으므로 iOS 8에 도입 된 크기 클래스로 정의 된 기본 기본 크기를 유지했습니다.

그 이유는 셀의 너비가 뷰 컨트롤러의 너비의 두 배 정도로 확대 되었기 때문입니다.

+0

TableViewController를 사용할 때 같은 문제가 발생합니다. 제약 조건을 어떻게 사용합니까? IB를 사용하여 슈퍼 뷰에 크기를 맞추는 옵션은 회색으로 표시됩니다. –

+0

오 세상에, 나는 이것을 고치려고 너무 많은 시간을 보냈다. 그리고 나는 단지 제약을 잊어 버렸다! 알림 주셔서 감사드립니다 선생님! –

0

당신은 테이블의 폭과 tableviewCell의 높이와 같은 세포의 높이와 동일 셀의 폭을 설정할 수 있습니다 :

여기 스크린 샷입니다!

기본적으로 tableviewCell의 높이는 44입니다. 따라서 Cell 's Height를 44로 설정할 수 있습니다! 당신은

self.tableview.frame.size.width 

에서의 tableview의 폭을 얻을 당신은 cell.frame에 의해 세포의 프레임을 설정할 수 있습니다! 예

에 대한

CGRect cellRect = CGRectMake(0, 0, self.tableview.frame.size.width ,44); 
cell.frame = cellRect; 

희망은 모든 것이 잘 진행하고 당신을 도울 수 있습니다!