2012-08-11 2 views
0

iOS (iPhone)의보기에는 여러 가지 구성 요소가 있으며 스택 방식으로 정렬되어 있습니다 (하나씩 표시). 그것들은 사용자 계정 등록 정보이고, 일부는 비어있을 수 있습니다. iOS의 "컴팩트"보기

UITextField1 (이름)

UITextField2 (위치)

UITextField3 (나이)

UITextView1 (바이오)

jQuery과 (사용자 :

그래서, 구성 요소는 다음과 같이 레이아웃 내보기에이 항목).

일부 필드는 비워 둘 수 있습니다. 공백 필드에 공백이있는 대신 다음 필드가 위쪽으로 이동하기를 원합니다.

이것은 flowlayout : What is the best/easiest way to create 'flow layout' type layout in iOS과 같은 질문입니다. 모든 UIViews을 통과하고 사람이 비어있는 다음 상단으로 이동을 결정하는 함수를 작성

  1. :

    나는 단지이 다루는 두 가지 방법을 볼 수 있습니다.

  2. UITableView를 만들고 내용이 비어있는 셀에 대해 다른 셀 높이를 사용하십시오.

이상적으로는 구성 요소가 있지만 이상하지 않습니다 (기본적으로 일종의 스택/플로우 레이아웃).

어쨌든, 위의 옵션 # 1을 구현할 것입니다. 그러나이 작업을 수행하는 "표준"방법이 있는지는 잘 모릅니다. (정직하게 말하면 알기에는 적절한 용어조차 모릅니다. 이 기능은).

감사합니다.

답변

1

나는 당신이 제안한 방식이 아니라 UITableView를 사용하여 두 번째 선택의 방향에 더 의지 할 것이다.

이것은 jQuery과를 사용하여 내 접근 방식이 될 것입니다 :

  1. 각에 태그 값을 내 구성 요소 각각에 대해있는 UITableViewCell (또는 사용자 정의 셀) 생성 및 할당하고, 우리는 나중에이를 사용합니다. viewDidLoad에서이 작업을 수행 할 수 있습니다.

  2. numberOfRowsInSection에 코드를 추가하여 데이터 값이있는 필드를 확인하십시오. 데이터가 다시 cellForRowAtIndexPath에서

  3. 값으로 데이터가 필드 그렇다면 존재하는지 확인 필드 의 수의 합계 수를 반환한다 (스텝에서 생성 된 세포가 이미 생성되었는지의 여부를 확인할 그렇지 않다면 생성하십시오) 그렇지 않으면, 어떤 종류의 카운터를 증가 시켜서 태그 값을 증가시키고 값이있는 다음 필드를 찾으십시오. 일단 발견되면 "태그/색인"번호를 사용하여 적절한 셀을 "반환"하십시오.

마지막으로 UITableView에는 데이터가있는 필드 만 표시됩니다.

+0

감사합니다.내 문제는 내 레이아웃에있는 구성 요소의 일부가 테이블 뷰 (스크롤 포함)라는 것입니다. 그래서, 내가 이것을하면 모든 필드 스크롤 (내가 원하지 않는)을 허용하거나 테이블 뷰에서 스크롤을 제거해야합니다. – rufo

+0

그래서 한 번에 여러 테이블보기가 표시됩니까? 그렇다면 여러 개의 섹션이있는 단일 테이블보기를 사용하십시오. – radesix

+0

레이아웃이 그보다 복잡하기 때문에. 나는 버튼이있는 "선", 작은 글꼴의 3 개의 레이블이있는 선, 2 개의 레이블이있는 선 등이 있습니다. 맨 아래에 하나의 UITableView가 있습니다. 각 경우에 대해 UITableViewCells를 구현하는 모든 작업을 수행 할 수 있지만 많은 작업이 들린다. – rufo