2014-11-14 2 views
2

사용자 정의 셀 MatchCenterCell을 작성했으며 priceLabel이라는 UILabel이라는 셀을 작성했습니다.이 셀은 UITableView의 셀 안에 있습니다. 각 셀의 이미지 크기가 너무 때때로는 "가장 일치하는 것처럼, 잘못 정렬 될 것이라는는 X (90)의 좌표를 의미 가지는 다르기 때문에UILabel의 위치를 ​​셀의 이미지 기준으로 설정하는 방법

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     self.PriceLabel = [[ UILabel alloc]initWithFrame:CGRectMake(90, 35, 70, 40)]; 
    } 
    return self; 
} 

그러나,이 문제가 발생 : 그것은 현재 설정의 방법은 지금처럼 "레이블 아래에 보여줍니다 enter image description here

가 어떻게 그것을 선까지 textLabeldetailTextLabel이 그 위에 할 방법 있도록이 cell.imageView에 상대 x 좌표 만들 수 있습니까?

+1

자동 레이아웃을 사용하십시오. – rdelmar

+0

@rdelmar가 말한 것. 레이블에 구속 조건을 직접 추가하여 레이블이 이미지와 관련하여 세로 및 가로로 배치되도록 할 수 있습니다. – brandonscript

답변

0

당신은 코멘트에 제안 auto-layout를 사용하거나 다음과 같이 레이아웃 파단를 오버라이드 (override) 할 수 있습니다 :

- (void)layoutSubviews() 
{ 
    [super layoutSubViews]; 
    self.detailTextLabel.y = 0; 
    self.detailTextLabel.x = self.imageView.right + 10; 
    self.detailTextLabel.height = self.contentView.height; 
    self.detailTextLabel.width = self.contentView.width - self.detailTextLabel.x; 
} 

을 위의 사용자 정의 레이아웃을 할 때 몇 가지 편리한 메소드를 추가 CKUITools를 사용합니다.

+0

제 'UITableView'는 스토리 보드를 통하지 않고 프로그래밍 방식으로 초기화되었습니다. 이 경우 자동 레이아웃을 어떻게 사용합니까? 게시 한 코드는 어디에 두어야합니까? – Ghobs

+0

프로그래밍 방식으로 자동 레이아웃을 사용할 수 있지만 위의 예는 사용자 정의 셀의 layoutSubviews를 재정의하기 만하면 자동 레이아웃이 아닙니다. . –

관련 문제