Phi*_*lak 8 iphone cocoa-touch objective-c uikit
我正在尝试设置可以编辑的项目列表.我有一个主视图,顶部有一个UINavigationBar,下面有一个UITableView.我想在点击时将"编辑"按钮更改为"完成"按钮,但我无法弄清楚如何操作.
如果我可以在代码中完成它(不是它的界面构建器),我可以替换它,但我甚至不能这样做.我见过一些使用[self.navigationItem]的代码,但在我看来,self是一个UIView.
当我不想导航时(这只是一页),使用UINavigationBar也感觉有点奇怪,但我想要一个带有标题和按钮的工具栏,所以我认为没有选择.
wal*_*wal 16
我创建了一个可以从编辑更改为完成的按钮.这是来自更多iPhone开发书的一个提示.
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *editButton = self.editButtonItem;
[editButton setTarget:self];
[editButton setAction:@selector(toggleEdit)];
self.navigationItem.leftBarButtonItem = editButton;
}
Run Code Online (Sandbox Code Playgroud)
和方法toggleEdit
- (IBAction)toggleEdit {
BOOL editing = !self.tableView.editing;
self.navigationItem.rightBarButtonItem.enabled = !editing;
if (editing) {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Done", @"Done");
//Added in the edition for this button has the same color of the UIBarButtonSystemItemDone
self.navigationItem.leftBarButtonItem.style = UIBarButtonItemStyleDone;
} else {
self.navigationItem.leftBarButtonItem.title = NSLocalizedString(@"Edit", @"Edit");
//Added in the edition for this button has the same color of the UIBarButtonSystemItemDone
self.navigationItem.leftBarButtonItem.style = UIBarButtonItemStylePlain;
}
[self.tableView setEditing:editing animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
然后你不需要更换任何一个.
归档时间: |
|
查看次数: |
13705 次 |
最近记录: |