自定义UINavigationController的编辑按钮?

时间:2010-12-08 19:39:38

标签: iphone ios uinavigationcontroller

如何绘制“保存”和&当用户点击“编辑”时,导航栏上的“取消”按钮?此外,如何隐藏删除“旋钮”,而是使每行可编辑,如Apple的联系人应用程序?

3 个答案:

答案 0 :(得分:3)

UIViewController有一个-setEditing:animated:方法可以覆盖。在此方法中,您可以拨打-setRightBarButtonItem-setLeftBarButtonItem

关于第二个问题,请查看UITableViewDataSource。有一种名为-tableView:moveRowAtIndexPath:toIndexPath的方法。

编辑:如果您想在UITableViewCell中输入文字,则必须在UITextField中添加-tableView:cellForRowAtIndexPath:。看here

答案 1 :(得分:3)

要在左侧创建Cancel按钮,请实施setEditing:animated:方法并将以下内容放入其中。

self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)] autorelease];

并添加Save按钮:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(SaveEdit:)] autorelease];

确保您实施cancelEdit:saveEdit:

答案 2 :(得分:1)

对于这两个答案,我应该添加以下内容:

要删除添加的按钮,请将right/leftBarButtonItem设置为nil