문제

그러한 테이블 보기를 어떻게 만듭니까?그래서 스위치를 켜면 2개의 셀이 추가되어야 합니다.

나는 이미 시도했다

[tableView numberForRowsInSection:6];
[tableView reloadData];

하지만 예상대로 작동하지 않습니다 :(

어떤 아이디어가 있나요?

가장 좋은 점은 2개의 섹션이 될 것입니다. 첫 번째 섹션에는 5개의 셀이 포함되고, 두 번째 섹션에는 스위치가 꺼진 셀 1개가 포함되며, 스위치가 변경된 경우 2개의 셀이 섹션 2에 추가됩니다.(애니메이션으로 추가됨 :))

음..

미리 감사드립니다. 모든 답변이 매우 기대됩니다 :)

도움이 되었습니까?

해결책

이거 어디서 뽑은 거야? -numberForRowsInSection: 방법은?내가 (그리고 문서가) 아는 한, 그것은 존재하지 않으며 UITableView의 메서드로 존재한 적도 없습니다.추측으로는 아무 것도 얻을 수 없으며, 하물며 허공에서 방법을 고안하는 것도 불가능합니다.

아마도 이 작업을 시도하기 전에 UITableView 사용의 기본 사항을 다루는 몇 가지 자습서를 검토해야 할 것입니다.누군가가 시간을 들여 이 작업을 수행하기 위해 전체 클래스를 작성하고 답변에 넣을 것이라고 의심하며 단순히 코드를 복사/붙여넣으려고 하지 않으면 장기적으로 훨씬 더 나을 것입니다. 당신은 이해하지 못합니다.UITableView를 다루는 많은 문서와 예제가 있으며 이는 Apple에서 제공되는 것을 고려한 것입니다. UITableView는 Google에서 "UITableView 튜토리얼"과 같은 것을 검색하면 페이지 및 결과 페이지를 제공할 정도로 자주 사용되는 클래스입니다.

하지만 귀하가 수행해야 할 작업에 대한 간략한 개요를 제공하겠습니다.1.물론 Xcode에서 UITableViewController 템플릿으로 시작하여 요구 사항에 맞게 사용자 정의를 시작할 수 있습니다. 두 개의 섹션, 섹션당 많은 행 등 필요한 경우 일부 모델 수준 개체를 기반으로 결정합니다.

  1. 새 셀 객체를 생성할 때 사용자 정의 UITableViewCell 하위 클래스를 생성하거나 기본 UITableViewCell 레이아웃을 적절하게 사용자 정의해야 합니다(적어도 UISwitch 하위 뷰를 추가하여). tableView:cellForRowAtIndexPath:.

  2. 다음을 사용하여 스위치 값이 변경되면 뷰 컨트롤러에 메시지를 보내도록 UISwitch를 구성해야 합니다. -[UIControl addTarget:action:forControlEvents:] 위해 UIControlEventValueChanged 이벤트.

  3. 이 스위치 값 변경에 대한 작업 메서드를 구현할 때 행을 더하거나 빼야 하는지 결정한 다음 실제로 행을 더하거나 빼는 논리를 구현해야 합니다.당신이 사용할 수있는 beginUpdates/endUpdates, insertRowsAtIndexPaths:withRowAnimation: 그리고 deleteRowsAtIndexPaths:withRowAnimation: 단순히 호출하는 대신 멋진 부드러운 행 애니메이션 동작을 가지려면 reloadData.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top