【问题标题】:Enable Edit Mode in ViewController在 ViewController 中启用编辑模式
【发布时间】:2013-05-07 18:55:29
【问题描述】:

我是 iOS 开发的新手,我试图在视图中显示用户个人资料,同时我想让用户可以通过点击 UINavigationBar 上的“编辑”按钮来编辑他的个人资料,例如显示在 Apple 网站上:Enabling Edit Mode in a View Controller

我试图找到一个解释所有这些的教程,但我没有找到任何东西。有人可以通过给我一个教程链接或示例代码来帮助我吗?

PS:我正在使用故事板。

非常感谢!

【问题讨论】:

    标签: iphone ios uitableview storyboard xcode4.5


    【解决方案1】:

    Herehere 是 UITableview 的几个示例

    概念是一样的。您添加一个 UIBarButtonItem 并更改 tableView 的当前模式和 buttonItem 的状态(文本)以显示编辑破折号和其他内容(如果您选择)。

    这是一个简单的编辑模式按钮,可将 tableView 发送到编辑模式,以便轻松删除。你也可以

    - (IBAction)editPressed:(id)sender
    {
        // If the tableView is editing, change the barButton title to Edit and change the style
        if (_theTableView.isEditing) {
            UIBarButtonItem *newButton = [[UIBarButtonItem alloc]initWithTitle:@"Edit" style:UIBarButtonSystemItemDone target:self action:@selector(editPressed:)];
            self.navigationItem.rightBarButtonItem = newButton;
            _buttonEdit = newButton;
            [_theTableView setEditing:NO animated:YES];
        }
        // Else change it to Done style
        else {
            UIBarButtonItem *newButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonSystemItemEdit target:self action:@selector(editPressed:)];
            self.navigationItem.rightBarButtonItem = newButton;
            _buttonEdit = newButton;
            [_theTableView setEditing:YES animated:YES];
        }
    }
    
    
    -(void)setEditing:(BOOL)editing animated:(BOOL)animated
    { 
        [super setEditing:editing animated:animated];
    
        // You could do other things in here based on whether editing is true or not
    }
    

    【讨论】:

    • 非常感谢您的帮助,问题是我是iOS的初学者,示例对我来说不是那么清楚!我正在努力理解它们并应用它们,如果我能做到,我会及时通知你。
    • 请问您还有什么建议吗!
    • 您需要指定您想要做什么并提出具体问题,否则您将无法在此处获得大量帮助。这是一个围绕极其快速和可靠的响应而建立的社区,但前提是问题非常具体并且以前没有被问到。 Google 是您的朋友,您可以找到大量有关启用编辑模式的资源。
    • 你是对的,也许我的问题不清楚!我试过谷歌,但我没有找到任何东西:(假设我在 UITableView 上有 1 个字段(名称),当我点击“编辑”按钮时,我希望 TabViewCell 成为 UITextView 让我编辑数据。并且然后当我单击“完成”按钮时,UITextView 再次成为具有新值的 TabViewCell!这可能吗?我可以找到的所有教程,只是如何删除、添加或移动单元格。如果你能,我将不胜感激帮助我,如果您认为这还不够清楚,我可以重新表述。
    • 啊,好吧,您只需将 tableView 置于编辑模式,然后在您的 UITableView 处于该特定行的编辑模式时在您的 UITextView 上设置可编辑。然后,当您离开编辑模式时,您再次禁用该 textView 上的可编辑。不过,您永远不会将单元格转换为 textView。您的单元格中只有一个 UITextView,您可以根据 tableView 的 cellForRowAtIndex 委托方法处理更改。 stackoverflow.com/questions/5997708/…
    【解决方案2】:

    您可以在 viewDidLoad 中为您的 navigationItem barbutton 设置默认编辑按钮,如下所示。

    -(void)viewDidLoad
    {
          [super viewDidLoad];
          self.navigationItem.rightBarButtonItem = self.editButtonItem;
    }
    

    正如苹果文档中给出的那样

    editButtonItem - 返回一个条形按钮项,它在编辑和完成之间切换其标题和关联状态。默认按钮操作调用 setEditing:animated: 方法。

    在您的视图控制器中覆盖 setEditing:animated:,如下所示。

    -(void)setEditing:(BOOL)editing animated:(BOOL)animated
    {
          [super setEditing:editing animated:animated];
    }
    

    您可以利用布尔变量编辑来实现您的要求。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多