2010-01-19 3 views
10

내 앱의 UITableView에서 UITableViewCellStyleValue2 셀을 사용하고 있는데 왼쪽 열 (파란색 텍스트 - self.textField)이 기본값보다 훨씬 좁기를 원합니다. 셀을 만든 후 self.textField.bounds 설정 시도했다 그러나이 작동하지 않는 것 - 디버거에서 보이는 경계가 설정되어 나타납니다.UITableViewCellStyleValue2 셀의 라벨 크기를 변경하는 방법은 무엇입니까? (UITableView iPhone)

이 방법으로 기본 셀 유형을 편집하거나 UITableViewCell의 자체 서브 클래스를 만들어야합니까?

감사합니다.

답변

18

UITableViewCell의 하위 클래스를 사용할 수 있으며 여전히 UITableViewCellStyleValue2을 사용할 수 있습니다. 그런 다음 layoutSubviews 메서드를 덮어 쓰면 레이블 크기가 변경됩니다.

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

감사합니다. 그건 완벽하게 ..-) –

+2

p.s .: 여기에서 프레임을 변경하는 것 외에는 다른 작업을해서는 안됩니다. 글꼴 (크기)을 변경하려면 셀을 만들거나로드 할 때이 작업을 수행해야합니다. – FelixLam

+0

예 - 의미가 있습니다. 건배! –

관련 문제