如何从表格视图的自定义单元格内的文本字段中获取值(标签)以发布到 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