自定义 UINavigationController 的编辑按钮?

发布于 2024-10-06 20:52:58 字数 80 浏览 3 评论 0原文

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

How do I draw "save" & "cancel" buttons on the navigation bar when the user taps "edit"? Also, how do I hide the delete "knobs" and instead make each row editable, like Apple's Contacts app?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦旅人picnic 2024-10-13 20:52:58

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

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

编辑:如果您想在 UITableViewCell 中输入文本,则必须在 -tableView:cellForRowAtIndexPath: 中放置一个 UITextField 。请查看此处

An UIViewController has a -setEditing:animated: method that you can overwrite. In this method you could call -setRightBarButtonItem or -setLeftBarButtonItem.

As for your second question, take a look at the UITableViewDataSource. There's a method called -tableView:moveRowAtIndexPath:toIndexPath.

EDIT: If you want to enter text in a UITableViewCell, you have to place a UITextField inside it in your -tableView:cellForRowAtIndexPath:. Look here.

转角预定愛 2024-10-13 20:52:58

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

To create a Cancel button on the left side, implement the setEditing:animated: method and put the following inside.

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

And to add a Save button:

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

Make sure you implement cancelEdit: and saveEdit:.

不必你懂 2024-10-13 20:52:58

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

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

To both answers, I should add the following:

To remove added button, set the right/leftBarButtonItem to nil

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文