2013-02-21 2 views
1

나는 이미지 섬네일 (그 행에 이미지가 있는지에 따라 숨길 수도 있고 숨길 수도 있음)이있는 표 셀과 그 오른쪽에있는 textView가 있습니다.스토리 보드에서 레이아웃에서 숨겨진 항목을 제거 할 수있는 방법이 있습니까?

어쨌든 textView가 코드를 필요로하지 않고 숨겨 졌을 때 사용했던 이미지의 영역을 확장하기 위해 왼쪽으로 펼치게 할 여지가 있습니까?

또는 다른 방법으로 html에서 숨김 (visibility : hidden;)을 제거하고 레이아웃 (display : none;)에서 제거하면 view.hidden = NO가 css와 같은 기능을 수행합니다. 나는 레이아웃에서 제거 된 것과 같은 CSS를 원한다.

이 코드에 대한 해결책이 있습니까?

답변

2

예, 레이아웃 제약 조건이있는 코드에서이 작업을 수행 할 수 있습니다. 텍스트보기와 이미지보기 사이에 수평 간격 제한이있는 경우 IB에서 IBOutlet을 IB에 만든 다음 코드에서 상수 값을 변경할 수 있습니다. 그래서, cellForRowAtIndexPath에서 :, 당신이 절은 해당 행에 대한 이미지가 있는지 여부를 테스트하는 경우 어떤 종류의 것 :

그래서,
if (indexPath.row %2 == 0) { 
        cell.iv.hidden = YES; 
        cell.imageViewToTextViewConstraint.constant = -48; 
    }else{ 
        cell.iv.hidden = NO; 
        cell.imageViewToTextViewConstraint.constant = 8; 
    } 

IV는 셀의 이미지보기로 내 콘센트이며, 폭은 48입니다 제약 조건을 -48로 설정하면 기본적으로 텍스트보기가 이미지보기의 왼쪽 부분으로 확장됩니다 (이미지보기는 여전히 숨겨져 있습니다). 이 예제에서는 이미지가 없도록 짝수 행을 설정하고 있습니다. 홀수 행에는 IB에서 설정 한 행이 있습니다.

1

번호 HTML

덕분에/CSS 레이아웃은 매우 고급, 당신은 (당신이 NSLayoutConstraint를 사용하는 경우 또는 제한)는 코드, 컨텐츠를 설정할 때 자신을 당신의 텍스트 뷰 프레임을 처리 할 수 ​​있습니다.

관련 문제