Iphone 关于编辑/删除章节的建议

Iphone 关于编辑/删除章节的建议,iphone,uitableview,Iphone,Uitableview,苹果在UITableView上的文档讨论了如何添加/编辑/删除行,但没有详细讨论添加/编辑/删除部分,特别是关于UI的部分。在添加/删除行的情况下,可以使用以下方法对行应用“添加”和“删除”样式: - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath; 但是,对于节(据我所知)没有这样的方法,它可以用于向用户

苹果在UITableView上的文档讨论了如何添加/编辑/删除行,但没有详细讨论添加/编辑/删除部分,特别是关于UI的部分。在添加/删除行的情况下,可以使用以下方法对行应用“添加”和“删除”样式:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;
但是,对于节(据我所知)没有这样的方法,它可以用于向用户显示可视控件以添加“+”或删除“-”节。我可以使用用于新行的逻辑添加一个新节,但是,我不确定如何删除整个节(或允许用户编辑节,例如节标题)。我应该如何删除整个部分

背景: 我正在开发一个基于核心数据的应用程序。我在实体之间有一对多的关系

Entity r (root)   <-->> Entity p (parent),
Entity p (parent) <-->> Entity c (child)
实体r(根)>实体p(父),
实体p(母公司)>实体c(子公司)
当用户创建父记录(实体p)时,将自动创建固定的子记录集(实体c)。在UI中,我在页眉中显示父项(实体p)的基本信息,例如标题,以及作为节行的关联子记录(实体c),在页脚中显示一些摘要。出于某些逻辑原因,我不能选择向下钻取方法(以避免添加/删除节)。

编辑:

由于您可以为节定义自定义视图,因此最好使用自己的UIView替换现有视图,当滑动(使用手势)时,UIView将删除节。您可能会模仿右侧的红色删除按钮,或者当用户在某个分区上滑动时,您可能会看到一个带有确认的UIAlertView

您可以使用tableView:deleteSections:withRowAnimation:删除该节

以下问题深入探讨了这一主题:

是:

首先,

// 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;
UIKIT\u EXTERN\u CLASS@interface UITableView:UIScrollView{
// ... 
NSInteger_swipeToDeleteSection;
编辑:

由于您可以为分区定义自定义视图,因此最好将现有视图替换为您自己的UIView,当用户滑动(使用手势)时,UIView将删除分区。您可能会模仿右侧的红色删除按钮,或者当用户滑动分区时,您可以只使用带有确认的UIAlertView

您可以使用tableView:deleteSections:withRowAnimation:删除该节

以下问题深入探讨了这一主题:

是:

首先,

// 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;
UIKIT\u EXTERN\u CLASS@interface UITableView:UIScrollView{
// ... 
NSInteger_swipeToDeleteSection;

我知道您提到的UITableView方法,并且我理解删除节或添加新节所涉及的逻辑。而且,\u swipeToDeleteSection是UITableView类的私有成员。它没有在API文档中公开,所以我猜即使我弄清楚如何使用它,我的应用程序也会赢“没有被接受。啊,人力资源管理。所以根本没有让你靠近……至少功能似乎是存在的。我猜苹果把它放在私有位置是因为他们决定不支持它或其他什么。等等,不管怎样,这里有一个tableView:deleteSections:withRowAnimation:method,很明显。但我想你的问题是让它支持滑动到de。”删除该节。替换上面的答案。希望这次会有所帮助。;)我知道您提到的UITableView方法,并且我理解删除节或添加新节所涉及的逻辑。而且,_swipeToDeleteSection是UITableView类的私有成员。它未在API文档中公开,所以我猜测,即使我知道如何使用它,我的应用程序也不会被接受。啊,人力资源管理。所以根本就不会让你靠近……至少功能似乎是存在的。我猜苹果把它放在私有位置是因为他们决定不支持它或其他东西。等等,不管怎样,这里有一个tableView:deleteSections:withRowAnimation:method,显然。但我猜你的问题是让它支持滑动删除部分。替换上面的答案。希望这次能有所帮助。;)