我正在尝试实现一个非常类似于 Mobile Safari 中的书签视图的列表。单击编辑时,您将获得以下信息:
在此屏幕中,您可以删除项目并更改其属性(通过右侧的 DisclosureIndicator)。我按照 Xamarin 的教程进行操作,但是当表格处于编辑模式时,我无法确切知道如何添加 DisclosureIndicator。我将在 ObjC 或 C# 中采用解决方案。
我在这里错过了一些简单的东西吗?
我正在尝试实现一个非常类似于 Mobile Safari 中的书签视图的列表。单击编辑时,您将获得以下信息:
在此屏幕中,您可以删除项目并更改其属性(通过右侧的 DisclosureIndicator)。我按照 Xamarin 的教程进行操作,但是当表格处于编辑模式时,我无法确切知道如何添加 DisclosureIndicator。我将在 ObjC 或 C# 中采用解决方案。
我在这里错过了一些简单的东西吗?
在 iOS 中,这是通过以下方法完成的:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleDelete;
}
- (void) setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing: editing animated: animated];
[self.tableView setEditing:editing animated:animated];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//delete rows
}
}
公开指示器是电池附件。您可以在cellForRowAtIndexPath
方法中设置它。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
利用
cell.Accessory = UITableViewCellAccessory.DisclosureIndicator;
在 GetCell 方法中