我正在尝试组合一个可编辑的详细视图,类似于 iPhone 默认联系人应用程序。
I have a TableView of contacts and I activate an editable detail view when a cell is selected:
public override void Selected (DialogViewController dvc, UITableView tableView, NSIndexPath path)
{
var editingSection = new Section ("Entity") {
new StringElement ("First name", "enter", _entity.FirstName),
new StringElement ("Last name", "enter", _entity.LastName)
};
var root = new RootElement("Entity Entry") {
editingSection
};
var entityEdit = new EntityEdit (root, true);
ConfigEdit (entityEdit);
dvc.ActivateController(entityEdit);
}
void ConfigEdit (DialogViewController dvc)
{
dvc.NavigationItem.RightBarButtonItem = new UIBarButtonItem (UIBarButtonSystemItem.Edit, delegate {
dvc.TableView.SetEditing (true, true);
ConfigDone (dvc);
});
}
void ConfigDone (DialogViewController dvc)
{
dvc.NavigationItem.RightBarButtonItem = new UIBarButtonItem (UIBarButtonSystemItem.Done, delegate {
dvc.TableView.SetEditing (false, true);
ConfigEdit (dvc);
});
}
我要更改的行为在 ConfigEdit 方法中。当我第一次显示视图时,编辑部分中的元素应该是 StringElements。当我切换到编辑模式时,元素应该更改为条目元素,因为我希望能够删除行或编辑元素内的文本。
这可能吗?在设置编辑模式之前,是否有更好的方法来显示只读元素?