2010-08-10 6 views
1

UITableView에 대한 Apple의 설명서에서 행을 추가/편집/삭제하는 방법에 대해 설명하지만 섹션 추가/수정/삭제에 대해서는 특별히 UI와 관련하여 자세히 설명하지 않습니다. 추가/삭제 행의 경우, 당신은 "추가"적용 할 수 있습니다 및 사용하여 행의 스타일을 "삭제"섹션 편집/삭제 권장 사항

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath; 

그러나 섹션에 대한 그러한 방법 (내가 아는)이없는, 될 수있는 "+"섹션을 추가하거나 "-"섹션을 삭제할 수있는 시각적 컨트롤을 사용자에게 표시하는 데 사용됩니다. 그러나 새 행에 사용 된 논리를 사용하여 새 섹션을 추가 할 수는 있지만 전체 섹션을 삭제하거나 섹션 제목과 같은 섹션을 편집 할 수있는 방법을 모르겠습니다. 전체 섹션을 삭제하려면 어떻게해야합니까?

배경 : 코어 데이터 기반 응용 프로그램을 만들고 있습니다. 엔티티간에 일대일 관계가 있습니다.

Entity r (root) <-->> Entity p (parent), 
Entity p (parent) <-->> Entity c (child) 

사용자가 상위 레코드 (엔티티 p)를 생성하면 고정 된 하위 레코드 세트가 자동으로 생성됩니다 (엔티티 c). UI에서 상위 헤더 (엔티티 p)에 대한 기본 정보를 헤더에 표시하고 있습니다. 제목 및 관련 하위 레코드 (엔티티 c)를 섹션 행으로, 일부 요약을 바닥 글에 표시합니다. 어떤 논리적 인 이유로, 나는 (섹션 추가/제거를 피하기 위해) 드릴 다운 접근법을 선택할 수 없다.

답변

1

편집 됨 :

당신이 섹션에 대한 사용자 정의보기를 정의 할 수 있기 때문에, 가장 좋은 건 슬쩍 경우, 섹션을 삭제할 것입니다 (제스처를 사용하여) 자신의 UIView으로 기존의 것을 대체하는 것입니다. 오른쪽의 빨간색 삭제 버튼을 모방하거나 사용자가 섹션을 스 와이프 할 때 UIAlertView를 확인하면됩니다.

섹션을 삭제하려면 tableView : deleteSections : withRowAnimation :을 사용하십시오.

너무 질문 주제로 탐구 다음 UITableView: deleting sections with animation

이 되었습니까 : 나는 jQuery과 방법을 알고 있어요 둘째

// UITableView.h:311... 
- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation; 
- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation; 
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); 

,

UIKIT_EXTERN_CLASS @interface UITableView : UIScrollView <NSCoding> { 
// ... 
NSInteger     _swipeToDeleteSection; 
+0

, 첫째

당신 나는 언급했는데, 나는 그 섹스를 삭제할 논리를 이해한다. n 또는 새 섹션을 추가하십시오. 그리고 _swipeToDeleteSection은 UITableView 클래스의 전용 멤버입니다. API 문서에는 노출되지 않았으므로 사용 방법을 파악하더라도 응용 프로그램이 승인되지 않습니다. – Mustafa

+0

아, 이런. 그러니 당신을 가까이하지 못하게하십시오 ... 적어도 기능은 존재하는 것 같습니다. 나는 애플이 그것을 지원하지 않기로 결정했기 때문에 애플이 그것을 비공개로 생각하고있다. – Kalle

+0

잠깐, 신경 쓰지 마세요, tableView : deleteSections : withRowAnimation : 메서드가 있습니다. 하지만 귀하의 문제를 섹션을 지우려면 스와핑을 지원하는 그것을 얻는 것 같아요. – Kalle