iOS - 带有自定义单元格的可点击 UITableView
Posted
技术标签:
【中文标题】iOS - 带有自定义单元格的可点击 UITableView【英文标题】:iOS - Clickable UITableView with Custom Cell 【发布时间】:2014-07-30 11:41:11 【问题描述】:美好的一天!我有一个应用程序,其中包含 UITableView 和自定义单元格。我想要做的是,当我单击特定行时,如果可能,它将根据该行或单元格上的文本执行操作。例如。假设这是一个表格视图。
Flowers 12 Red
Meat 30 Dry
Mouse 10 Alive
Pen 12 Black
然后我点击肉类行,我有一个空白文本框,它将在文本框或标签中显示文本“肉类”。那可能吗?谢谢!
【问题讨论】:
如果您的问题是是否有可能,答案是是。 通过这个链接***.com/questions/8404922/…,你会找到你的答案 为什么我的 cell.textLabel.text 为空?如何将其更改为我单击的任何行? 【参考方案1】:可以这样做:
记住要有一个数据源和一个UITableView
的委托,并将您的UITextField
声明为mainTextField
属性。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
mainTextField.text = cell.textLabel.text;
如果您需要更复杂的结构,您可以为每一行创建UIButtons
,并使用带有自定义委托的UITableViewCell
子类,您可以在自定义单元格中捕获事件。
【讨论】:
我会将 mainTextField.text 更改为我自己的 UITextfield 对吗?我试过了,但文本字段没有任何反应 你必须确保方法被调用,cell.textLabel.text
不是 nil 并且你要引用的 textField 存在。就这么简单
我正在尝试将 cell.textLabel.text 更改为我自己的单元格 textlable 用于肉类类别。但它有一个错误,顺便说一下我使用这个方法来填充我所有的单元格文本标签cell.URN.text = [[self.ar objectAtIndex:indexPath.row] objectAtIndex:0];
cell.textLabel.text 为 Null,如何更改?
@user3202533 你必须在cellForRowAtIndexPath
方法中正确设置。【参考方案2】:
将标签添加到子视图并为单元格放置 Tapgesture,然后在 Tapgesture 目标中,您可以通过基于 Tapgesture 标签的子类化 uitableviewcell 来访问基于标签的视图...
【讨论】:
以上是关于iOS - 带有自定义单元格的可点击 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
带有自定义单元格的 UITableView 在 iOS 6 上画得很好,但在 iOS 7 上完全是白色的
在 UITableView 中处理自定义单元格的点击不会发生
带有自定义表格单元格的 FB Friend Picker View Controller
如何在自定义单元格的 initWithStyle: 方法中获取 UITableView 的宽高?