2010-01-03 54 views
1

我正在使用ABPersonViewController并在“Info”视图上添加标签。 事情是: 当我点击“编辑”按钮,因为:personController.allowsEditing = YES; 我的观点去“编辑视图”和我的标签仍然存在(不像我计划) 我想弄清楚,如果我可以“通知”,当用户按下“编辑”按钮,所以我可以删除我的标签从当前视图进入“Edity View”之前ABPersonViewController - 从“编辑”按钮回调 - 目标C

我在考虑的唯一选择是在ABPersonViewController中禁用编辑并创建自己的“编辑”按钮,然后我将尝试并执行地址簿“编辑”按钮的相同行为...

当按下“编辑”按钮时是否有回调选项?并仍然保持ABPersonViewController的相同行为?

也许有知道哪个查看我在ABPersonViewController(标签或财产以后...?),所以我可以删除标签时,我没有对“信息”视图的方式

由于

伊泰

+0

什么编程/脚本语言?请编辑您的问题并相应地更新标签。 – BalusC 2010-01-03 22:47:27

+0

会做。 谢谢! – Itay 2010-01-04 09:26:56

回答

2

只是想出了一个稍微哈克寻找的方法是按下编辑时得到通知。

创建ABPersonViewController一个子类,并附上自己的自定义动作的编辑按钮:在初始化为您的视图控制器:

-(void)viewDidAppear:(BOOL)animated{ 

    [self.navigationItem.rightBarButtonItem setTarget:self]; 
    [self.navigationItem.rightBarButtonItem setAction:@selector(editPressed)]; 

} 

我找不到比一个更好的参考编辑按钮:self.navigationItem.rightBarButtonItem

然后创建editPressed行动:

-(void)editPressed{ 

    [super setEditing:!super.editing]; 

    if(self.editing){ 

     NSLog(@"Editing"); 

     //Insert code to put your custom view in edit mode 

    }else{ 

     NSLog(@"Not editing"); 

     //Insert code to take your custom view out of edit mode 

    } 
} 

调用01是很重要的,因为这会使UIPersonViewController进入和退出编辑模式(定义您的自定义操作会覆盖默认操作)。它还会正确更新视图控制器的'editing'属性,以便'self.editing'提供正确的值。

+0

按“完成”(righttabbarbutton)导致这个解决方案崩溃..任何意见? – AKG 2012-03-19 22:07:45

5

或者,您可以继承并覆盖setEditing:animated。这个setter被调用EditDone,但不是Cancel,并且仍然需要回调。下面的例子在编辑记录时隐藏工具栏,并在完成时恢复它。

// Override setter to show/hide toolbar 
- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    self.navigationController.toolbarHidden = editing; 
    if (editing) { 
     [self.navigationItem.leftBarButtonItem setTarget:self]; 
     [self.navigationItem.leftBarButtonItem setAction:@selector(cancel)]; 
    } 
} 

// Cancel button callback (does not invoke setEditing:animated) 
- (void)cancel { 
    [self setEditing:NO animated:YES]; 
} 
+0

Apple的当前不允许继承ABPersonViewController的子类。 – 2014-04-22 15:18:45