如何从表格视图的自定义单元格内的文本字段中获取值(标签)以发布到 URL [重复]

Posted

技术标签:

【中文标题】如何从表格视图的自定义单元格内的文本字段中获取值(标签)以发布到 URL [重复]【英文标题】:How to Get the value(label) from the TextField inside the custom cell of a table View to post on the URL [duplicate] 【发布时间】:2013-06-04 12:27:26 【问题描述】:

我希望我的 ios 应用程序将用户键入的文本传递给 URL。相关代码贴在下面。当我运行应用程序时,文本没有被分配任何值。它保持为空。

我是 iOS 编程新手,可能在这里遗漏了一些明显的东西。任何帮助/指针将不胜感激。

Mac OS 版本:10.6.8(64 位)Xcode 版本:3.2.3

在 snapshop 中..“我创建了一个表格视图并将自定义单元格放置在表格的每一行内。TextField 位于自定义单元格视图内。Post 是 textField 旁边的一个按钮,它是一个完成按钮。如果我单击该按钮,我们在 textField 中输入的文本应发布在我在代码 sn-p 中指定的 URL 上。”

注意:文本类似于评论,并且发布此评​​论应该发布在该单元格中的特定图像上。

我复制了下面的代码 sn-p。我还附上一张图片来解释一下。

-(IBAction)postAction:(id)sender



int index=[sender tag];

homecell *cell = [[homecell alloc] init];

UITextField *txt_c =(UITextField *)[cell.txt_comment viewWithTag:index];

NSLog(@"jj %@",txt_c);

gen_data *ut1=[[gen_data alloc]init];

gen_data *ut=[gen_data getInstance];

.... 

![在 snapshop..“我创建了一个表格视图,并在表格的每一行中放置了自定义单元格。TextField 位于自定义单元格视图中。Post 是 textField 旁边的一个按钮,它是一个完成按钮。如果我单击该按钮,我们在 textField 中输入的文本应发布在我在代码 sn-p 中指定的 URL 上。"![][1]1

【问题讨论】:

这不是和***.com/questions/16917321/…一样吗?你怎么又问了? 【参考方案1】:

你的问题在这里:

NSLog(@"jj %@",txt_c);

您的 %@ 指的是 UITextField 本身,而不是文本 (NSString*)

NSLog(@"jj %@",txt_c.text);

【讨论】:

【参考方案2】:

调用此方法时,您正在初始化一个新单元格:homecell *cell = [[homecell alloc] init];。这会创建一个全新的单元格,因此显然文本字段将为空。

您需要找到某种方法来处理有问题的单元格。

有几种方法可以做到这一点,例如,您可以实现 UITextField 委托,并在每次文本更改时对文本执行某些操作,或者您可以在与所在单元格对应的某个位置保存对单元格的引用。

我无法告诉您应该采用哪种方式,因为我不知道哪种方式最适合您的情况。

【讨论】:

【参考方案3】:

如果您使用的是自定义单元格视图,那么您可以试试这个。对我来说效果很好。

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath static NSString *customCellView = @"CustomCellView";

CustomCellView *cell = (CustomCellView *)[tableView dequeueReusableCellWithIdentifier:customCellView]; 如果(单元格 == 零) NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil]; 单元格 = [笔尖 objectAtIndex:0];

cell.nameLabel.text = [_newArr objectAtIndex:indexPath.row];

返回单元格;

【讨论】:

你好,我用过这个方法。但是我在 homecell 之前收到了类似预期错误的错误.....这是我的代码,我已将 simpleTableIdentifier 更改为 homecell ... - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 静态 NSString *simpleTableIdentifier = @"homecell"; homecell *cell = (homecell *)[tableView dequeueReusableCellWithIdentifier:homecell]; if (cell == nil) NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"homecell" owner:self options:nil];单元格 = [笔尖 objectAtIndex:0]; @Venkat Narahari 试试这个项目,你的所有问题都会得到解答:- docs.google.com/file/d/0Bz5CZnhZ4WAvdXFLWjRRUjMyV2M/edit【参考方案4】:

在附加用户输入的文本之前,首先添加百分比编码,如下所示

[@"" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

还添加以下内容

homecell *cell = [[homecell alloc] init];

UITextField *txt_c =(UITextField *)[cell.txt_comment viewWithTag:index];

如果您正在创建一个新的单元格对象来获取用户输入的文本,则它将始终为零。 您必须为点击 indexPath 按钮获取单元格,然后您可以从该单元格获取文本。

【讨论】:

以上是关于如何从表格视图的自定义单元格内的文本字段中获取值(标签)以发布到 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从表格视图的自定义单元格内的 TextField 获取值(标签)以发布到 te URL

iOS:如何从 tableview 的自定义单元格中的 UITextField 访问值

在动态表格视图中获取文本字段值

从自定义 tableView 单元格文本字段中获取数据

表格单元格内的滚动视图内的自定义视图未响应事件

从自定义单元格 iPhone 中的 textField 获取值