按下单元格中的按钮时显示新视图
Posted
技术标签:
【中文标题】按下单元格中的按钮时显示新视图【英文标题】:Display a new view when button in cell is pressed 【发布时间】:2011-09-22 18:59:29 【问题描述】:我在自定义单元格视图中显示了数据。一个单元格包含一个标题和一个按钮。当用户单击按钮时,页面将重定向到新视图。
现在我需要做的是,当用户点击按钮(而不是单元格)时,单元格的标题应该显示在新视图上 将被加载。我应该如何编码?
【问题讨论】:
您是否有理由不只是为此使用对单元格本身的触摸?然后你就可以完全知道它是什么单元格,而无需任何工作(通过 didSelectRowAtIndexPath 的 indexPath 参数:)。 在didSelectRowAtIndexPath
中单击单元格时被选中,但我在该单元格中单击button
,所以我需要获取单元格的名称。
【参考方案1】:
以下是您应该尝试的一些技巧。
当您将视图控制器(在按下的那个按钮的IBaction
内)推到下一个视图时,相应地实现下一个视图的标题。
对按钮使用tags
,并在它们与您实现按钮的uiTableViewCell
之间形成逻辑链接。
将cell.textLabel.text
值设置为nextViewController.title
。
【讨论】:
第二步没看懂,能不能进一步解释一下,或者提供教程/示例代码【参考方案2】:您必须先将按钮添加到单元格并将按钮设置为表格单元格的附件:
myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[myButton setFrame:CGRectMake(50, 100, 20, 10)];
[cell addSubview:myButton];
cell.accessoryView = myButton;
[myButton addTarget:self action:@selector (ActionMethod)
forControlEvents:UIControlEventTouchUpInside];
现在,您必须在 ActionMethod 中添加将其推送到新视图的逻辑:
-(void) ActionMethod
myViewController *Obj=[[myViewController alloc]init];
[self.navigationController pushViewController:Obj animated:NO];
[Obj release];
希望对你有帮助。
【讨论】:
但问题是他还需要知道哪个单元格的按钮被按下了,在你的解决方案中所有按钮都会打开同一个页面。以上是关于按下单元格中的按钮时显示新视图的主要内容,如果未能解决你的问题,请参考以下文章
IOS/Objective-C:检测自定义表格视图单元格中的按钮按下?
我显示了单元格,但是当我按下按钮时,我希望图像显示在集合视图单元格中