iphone:SDK 披露按钮没有从第一个 TableView 响应到第二个详细 TableView?

Posted

技术标签:

【中文标题】iphone:SDK 披露按钮没有从第一个 TableView 响应到第二个详细 TableView?【英文标题】:iphone : SDK disclosure button not response from first TableView to second detail TableView? 【发布时间】:2010-08-25 04:59:01 【问题描述】:

如何将第一个 tableview 行数据传递到第二个详细视图行

我用 [cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

在每个单元格中显示披露按钮

可以,我也在里面加了动作

- (void)tableView:(UITableView *)tableViewaccessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

NSLog(@"disclosure button %@ touched",indexPath.row);   

但是当我触摸披露按钮时,控制台中什么也没有显示

比我添加动作

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

// carry Alarm Name text into sub-table-view to look for detail time and text info
NSLog(@"Alarm Name = %@", [alarmName objectAtIndex:indexPath.row]);
NSLog(@"Index Path Raw# = %i", indexPath.row);

// Navigation logic may go here. Create and push another view controller.
AlarmDetailTableViewController *detailViewController = [[AlarmDetailTableViewController alloc] initWithNibName:@"AlarmTableViewController" bundle:[NSBundle mainBundle]];
// ...
// Pass the selected object to the new view controller.

[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
 detailViewController = nil;

可以在控制台模式下通知

但我认为当我触摸一级 TableView 中的任何行时,它总是显示相同的详细视图

如何使用第一级的数据显示新的详细视图?

例如

使tableView1.row0.text = detail view.title

并在标题下显示其他数据

如果你需要代码我可以上传

我的老板说这不是什么大秘密......

非常感谢

【问题讨论】:

我不确定我是否完全理解。您是在问如何让detailViewController 的标题成为您选择的单元格中的文本? 哦,我想我知道如何使用示例代码做到这一点!这并不容易,但我想我可以弄清楚这个问题我从“Beginner Iphone 3 Development”第9章第9章p.247〜267读的书 【参考方案1】:

也许问题出在您的:

- (void)tableView:(UITableView *)tableViewaccessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

应该是:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

【讨论】:

魔鬼在细节中。 :) 我来这里是为了寻找自己的问题;我的电话也没有触发......幸运(或不幸)问题神奇地消失了。 我的问题是我没有正确设置 tableView 委托。不要忘记将 放在 .h - 文件头中。【参考方案2】:

好的,如果你点击附件按钮而不是显示另一个详细视图

我们需要添加一个详细视图

首先创建一个“new navigation based application”,ex FirstView

右键单击类文件夹并选择“add new File”选择您要显示的新视图

例如,我选择了一个名为“DetailView”的新表格视图

比先去 DetailView.m 去给一个节和行号

或声明布局

比返回 FirstView.h

添加#import DetailView

转到 FirstView.m

找到这个方法- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

并使用 DetailView 子类创建新视图

像这样添加代码

DetailView *detailView =[[DetailView alloc]init];
detailView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self.navigationController pushViewController:detailView animated:YES];

你可以添加任何你想显示的视图

【讨论】:

以上是关于iphone:SDK 披露按钮没有从第一个 TableView 响应到第二个详细 TableView?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone SDK - 像相机应用程序中的扩展按钮

有没有办法可以在 iPhone SDK 上制作叠加视图?

如何识别按住按钮 iPhone SDK

如何在 iPhone SDK 中单击按钮时水平滚动 ScrollView

iPhone SDK 系统提供的按钮和图标

iphone sdk 4.0 中的按钮尺寸变小了