【问题标题】:Customizing UINavigationController's Edit button?自定义 UINavigationController 的编辑按钮?
【发布时间】:2011-05-22 10:47:06
【问题描述】:

当用户点击“编辑”时,如何在导航栏上绘制“保存”和“取消”按钮?另外,我如何隐藏删除“旋钮”,而是让每一行都可编辑,就像 Apple 的联系人应用程序一样?

【问题讨论】:

    标签: iphone ios uinavigationcontroller


    【解决方案1】:

    UIViewController 有一个可以覆盖的 -setEditing:animated: 方法。在这种方法中,您可以调用-setRightBarButtonItem-setLeftBarButtonItem

    至于你的第二个问题,请看UITableViewDataSource。有一个方法叫-tableView:moveRowAtIndexPath:toIndexPath

    编辑:如果你想在UITableViewCell 中输入文本,你必须在-tableView:cellForRowAtIndexPath: 中放置一个UITextField。看here

    【讨论】:

    • 很高兴我能帮上忙。请用打勾将其标记为正确答案,以便其他人也能看到。
    • 你好!我已经单独发布了一个新问题,但为了将其保留在上下文中,我也在这里添加了它。你能看看下面,看看你能不能帮忙
    【解决方案2】:

    要在左侧创建一个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:

    【讨论】:

    • 两个答案都对我有同样的帮助。但我有点迷失在另一个答案中。我认为这应该是勾选的答案。还是谢谢
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-04-11
      • 1970-01-01
      • 2017-03-23
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      相关资源
      最近更新 更多