如何使uitableviewcell“detail Label”可编辑?

时间:2012-01-06 00:08:03

标签: iphone uitableview uitextfield

我正在努力实施已经回答的问题提供的建议,但我仍然坚持让它发挥作用,所以寻求一些帮助。

以下是我要尝试实施的帖子:http://stackoverflow.com/a/3067579/589310

我正在尝试使用“ridale”提供的解决方案,如何使“detailLabel”可编辑为TableView的一部分。我希望它允许我直接编辑一个单元格并输入一个数字。它似乎不像UI那样常见,但“SmartRecord”会这样做,我想模仿它。

这是唯一一条给我错误的行:

UITextField *tmpView = [self detailLabel:indexPath];

我收到此错误:

未找到实例方法-detailLabel: (return type defaults to 'id')

我认为这是因为我的自我与原始海报不同。

我直接将TableView添加到现有控制器中。它不是直接的TableViewController:

@interface EditViewController : UIViewController
{
    IBOutlet UITableView            *tableSettings;
}

我可以填写表格并与之互动,所以我知道它有效(无论如何在某种程度上)。

我尝试过将自己更改为我的表控件或单元格:

UITextField *tmpView = [tableSettings detailLabel:indexPath];

我找不到任何响应“detailLabel”方法的内容。

我也不确定建议的解决方案是否完整或使用了更多未显示的代码。

这是我遇到的唯一一个错误,所以一旦我解决它就会有希望,它会起作用; - )

1 个答案:

答案 0 :(得分:0)

-(UITextField*)detailLabel:(NSIndexPath*)indexPath不存在于UITableView或Apple提供的任何其他课程中。

框架位置仅用于样品。修改它以取代你的detailLabel。

你必须编写自己的方法,返回UITextField,如下所示

-(UITextField*)detailLabel:(NSIndexPath*)indexPath
{
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];
    textField.delegate = self;
    //assuming myList is array of NSString
    NSString* str = [myList objectAtIndex:indexPath.row];
    textField.text = str;
    return [textField autorelease];
}
相关问题