2014-01-31 2 views
-1

Xcode의 자동 레이아웃이 처음이므로 도움이 필요합니다.자동 레이아웃을 사용하여 UITableViewCell의 UILabel을 가운데에 맞 춥니 다

나는 오른쪽에 왼쪽 세에 한 UILabel의와 정의를 tableView 셀을 가지고 있고 나는 그들이 같은 중심 싶지 :

enter image description here

(대시 라인은 셀의 중심을 나타냅니다).

그래서 왼쪽 레이블이 왼쪽 가운데에 있고 오른쪽 세 셀이 오른쪽 가운데에 오길 원합니다.

더 자세히 셀의 오른쪽에있는 세 개의 레이블 중 하나를 제거하고 나머지 두 개를 가운데에 맞출 수 있기를 바랍니다. (코드에 있음).

enter image description here

답변

0
난 그냥 cellForRowAtIndexPath 방법에있는 모든 라벨의 내 논리 ... 사용 프레임을 넣어

다음
LeftLabel.frame = CGRectMake((((cell.frame.size.width/2)-yourLabelWidth)/2, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight)); 

CGFloat rightLblX = ((cell.frame.size.width/2) - (5*yourTotalNumberOfLabel))/2; 

rightLabel_one.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight); 

rightLblX = rightLblX + 5; 

rightLabel_two.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight); 

rightLblX = rightLblX + 5; 

rightLabel_three.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight); 
+0

자동 레이아웃을 사용하지 않습니다. –

0

당신이 친구 이동 : 왼쪽 레이블

,
1이처럼 Ctrl 키를 누른 상태에서 레이블에서 셀로 끌기 & "컨테이너를 세로로 가운데 정렬"을 선택하십시오.
2. Ctrl 키를 누른 상태에서 왼쪽 레이블에서 & 셀까지 드래그하여 "컨테이너에서 가운데 ​​가운데"를 선택하십시오.
3. 두 번째 단계에서 배치가 정확하지 않으면 두 번째 항목을 취소하고 & "컨테이너에서 선행 공백"을 선택하십시오.

이 정도면 왼쪽 레이블로 충분합니다.

오른쪽 레이블의 경우 각 레이블에 대해 동일한 단계를 반복하십시오. 문제가 해결됩니다. 아직도 도움이 필요하면 알려주세요. :)

+0

예 더 많은 도움이 필요합니다. D 2 단계에 따라 셀의 가운데에 왼쪽 레이블을 배치하지만 셀의 왼쪽 절반에 가운데에 넣고 싶습니다. 줄기 3.에 의해 왼쪽 테두리에서 얼마나 거리가 있는지를 지정합니다. 셀이 커지면 왼쪽 절반의 중앙에 머물러 있지 않습니다. –

+1

실제로 자동 레이아웃에는 "왼쪽 또는 오른쪽 가운데 가운데"와 같은 기능이 없습니다. 각 방위에서 거리를 프로그래밍 방식으로 계산해야합니다. 회전을 위해서도 똑같이해야합니다. :( –

관련 문제