问题标签 [didselectrowatindexpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
59 回答
219631 浏览

ios - -didSelectRowAtIndexPath:未被调用

我正在编写一个在选项卡视图中带有表格视图的 iOS 应用程序。在我的UITableViewController, 我实现-tableView:didSelectRowAtIndexPath:了 ,但是当我在运行时选择一行时,没有调用该方法。不过,表格视图正在被填充,所以我知道我的控制器中的其他 tableView 方法正在被调用。

有谁知道我可能搞砸了什么来实现这一点?

0 投票
2 回答
2625 浏览

iphone - iPhone - UITableView 未在 3.0 SDK 中调用 didSelectRowAtIndexPath 方法

我有一个在 2.x 版本的 SDK 中运行良好的 iPhone 应用程序。当我升级到 3.0 时,不再调用 didSelectRowAtIndexPath 方法,因此用户突出显示行时的操作不会发生。这是一个自定义 UITableViewCell,它位于与 UITableView 不同的 nib 中。数据源和数据委托都在 Interface Builder 中正确连接,如果我将它编译到 2.21,它就可以工作。在 3.0 版上,单击该行不会执行任何操作。

这个问题,提到了一个类似的问题,但他们提到了另一个正在点击的第一响应者。我没有连接到单元格或表格的任何第一响应者方法。

如何让表格在 2.x 和 3.0 中正常工作?自定义单元格有几个标签和一个图像,我只想能够单击一行并显示该特定行的详细信息。

0 投票
1 回答
1188 浏览

cocoa-touch - UITableViewCell 选择停留在所有单元格中!

我仍在熟悉 iPhone SDK 的过程中。

这就是我想要做的:

我有一个 UIScrollView,每个滚动视图都有一个 UITableView,我已经实现了一个自定义 UITableViewCell。

所需的功能是最初没有选择,然后用户选择行并滚动并在下一个滚动视图中进行另一个选择并继续。我希望选择保留,因此用户可以稍后更改选择。

然而,在我的情况下发生的事情是 - 第一个和第二个 UITableViews 都很好,选定的行保持选中状态,但是在第三个 UITableView 中,我看到一行“已经”被选中,与第一个 UITableView 相同。我不想看到任何被选中的。

我知道我在做一些愚蠢的事情,但不知道是什么。任何帮助将非常感激。

谢谢,艾米

以下是相关的数据源和委托方法。

0 投票
1 回答
4859 浏览

iphone - 当我点击表格视图中的第一个单元格时,没有触发 didSelectRowAtIndexPath

当我点击我的表格视图中的第一个单元格时didSelectRowAtIndexPath没有触发......有没有人看起来和/或对为什么会发生这种情况有任何线索?我表中的所有其他单元格都可以正常工作,如果点击第一个单元格,我在didSelectRowAtIndexPath应用程序的代码中设置断点不会进入该代码,但如果点击任何其他单元格,则会进入代码。这是一些代码:

感谢您的宝贵时间和您能给我的任何帮助!

0 投票
6 回答
9593 浏览

iphone - 无法为子视图 pushViewController

我有一个 UINavigationController,我有单独的 UIView,我在使用 UISegmentControl 之间切换。在切换视图时,我将视图作为子视图添加到导航控制器的视图中:

然后,在 subViews 中,每个都有一个 UITableView,但我的问题是,我无法在didSelectRowAtIndexPath方法中将新的 viewController 推送到视图中。

该方法被正确调用并通过设置断点,我可以看到推送视图的方法也被调用,但没有任何反应。这是我推送它的代码:

[self.navigationController pushViewController:detailsViewController animated:YES];

我也试过

[super.navigationController pushViewController:detailsViewController animated:YES];

我做错了什么 - 或者只是不可能用子视图来做到这一点?

0 投票
1 回答
2712 浏览

objective-c - 为什么我在实现 didSelectRowAtIndexPath 时会收到“冲突类型”警告:

我在 tableviecontroller 实现中实现了 didSelectRowAtIndexPath: 方法。我在代码中收到“冲突类型”警告。一切似乎都有效,但警告让我感到不安。我的实现文件中的代码如下。

最初我有一个返回类型(NSIndexPath *),但发现该类型应该是 void,如 UITableView.h 中所述。两种返回类型具有相同的效果。该代码有效,但我收到以下警告...

感谢您提供的任何帮助...

0 投票
1 回答
5126 浏览

cocoa - AppDelegate 被不同的类访问,来自 RootController.m

我的问题是从控制器(恰好是我的 rootViewController)获取信息到另一个视图。在尝试通过应用程序委托访问它时,我无法让它工作。我已经找到了如何做到这一点,但这反过来又产生了另一个问题,即在模态视图控制器中获取视图以实际显示数据。下面我发布了 appDelegate 信息和 NSMutable Dictionary 解决方案代码,供那些可能也需要帮助的人使用。

我已经尝试了一个多星期来自己解决这个问题。我的问题最终是如何访问 appDelegate,这就是我遇到 NSDictionary 问题的原因。所以最终问题不是 NSDictionary,尽管我敢肯定,如果我走得更远,那将是一个问题。

首先,我要感谢 TechZen 帮助我看到我已经过度编程,并为我指明了正确的方向。

这是我学到的。

在 appDelegate 中分配您的变量。

AppDelegate.h

AppDelegate.m

在 ViewController.m 中将变量分配给 appDelegate。我在 tableView 函数 didSelectRowAtIndexPath 中执行了此操作。

现在在您的视图控制器中,您想从 appDelegate 加载变量,像这样设置它。

在 viewController.m 文件中;

.....并将其分配给您现在想要的任何东西!

我希望这对每个人都有帮助。此时您可以将 NSArray 从那里放到 NSDictionary 中,但是现在使用键和值进行访问,因此此时访问有点复杂,但当然有优势。我还不能完全把它弄下来,现在已经放弃了这种方法,只使用一个 NSArray 。

下面是 Makers h 和 m 文件的示例,您也可以查看。

及其 Maker.m 文件;

我希望这可以帮助其他人弄清楚这一点,因为这确实花费了我很多时间,我希望你能从我学到的东西中有所收获。

真诚的,柯克

0 投票
6 回答
18274 浏览

iphone - 选择 UITableViewCell 时如何更改 textLabel?

我想在选择单元格后更改单元格的 textLabel 和 detailTextLabel。我尝试了以下方法,但没有发生任何变化:

0 投票
1 回答
1584 浏览

iphone - -didSelectRowAtIndexPath 不适合我。iPhone SDK 3

嘿大家。我正在尝试将一个简单的 UINavigationController 合并到我的标签栏应用程序中。我将 TabBar 设置为根控制器,一切似乎都正常。此方法被正确调用并且不会中断,但它不会更改为我的详细视图。我完全迷失了这个。

我按照此视频中的说明进行操作:http ://www.youtube.com/watch?v=LBnPfAtswgw&feature=player_embedded# 。我改变了一些事情以使其与我想要完成的工作一起工作,但我留下的基本逻辑保持不变。她正在使用 SDK 2.*,而我正在使用 3.*。我认为这与它有关。谁能帮我吗?这就是我的 didSelectRowAtIndexPath 的样子:

我要疯了。如果我需要将其发布到其他地方,我将很乐意这样做。提前致谢!

0 投票
1 回答
1674 浏览

uitableview - 在 2 个控制器之间共享数组中的 didSelectRowAtIndexPath 选择

在我永无止境地寻求将表格行选择共享到模式视图中加载的多个视图中,我已经把它归结为一个问题。我正在使用 Apples DrillDownSave 示例代码作为模型来重现这种魔力。并认为我的设置完全一样...

在我的 RootViewController.m 的 didSelectRowAtIndexPath 部分中,我有以下代码将 violinMakers MSMutableArray 复制到同名的 DetailsView MSMuteableArray。所有颜色编码,没有错误告诉我我在正确的道路上..但是..

在 RootviewController.h 文件中,我通过以下方式引用 DetailsViewController:

然后在 DetailsViewController .h 文件中:

在 DetailsViewController .m 文件中:

我有一个单独的类,如上所示,我用它来定义数据 violinMaker。这在 didSelectRowAtIndexPath 内的 rootviewcontroller 中工作正常,所以我知道这不是问题的一部分,我当然在 .m 文件中引用它。这一切都像往常一样连接在 IB 中,因为我测试它是否可以通过直接从 rootViewController 推送 DetailsViewController 来工作,并且数据可以很好地加载到 UITextView 中。

我正在从 RootviewController (tableViewColler) 的推送视图(完美运行)中启动 DetailsViewController,它通过以下方式作为模态视图启动:

我在构建和视图加载时没有收到任何错误,但 textView 中的信息为空白。这也告诉我它没有加载任何内容,并且连接正确......我很接近......但我可以从我的 NSLog 中看到该值是:

因此 RootviewController 中的 violinMakers 不会被复制到 DetailsViewController 中的 violinMakers 数组中。我不想承认这一点,但是几周以来,我尝试了各种解决方案,通过 appDelegate、NSDictionary 和各种其他方式来让它工作,但无济于事。我认为答案是 violinMakers 被释放,所以什么都不传递,或者 RootViewController 中的分配行不起作用。有谁知道我可以改变什么?

我真的很感激一些帮助,我只是没有得到我所缺少的东西,但这是我得到的最接近的我只需要正确的链接,或者看看为什么没有保留这些值。如果有办法检查值的发布时间,我可以检查这个问题,也许就是这样。我试图在任何地方保留它(并在我让它工作后更正)但它就是不工作......帮助??

感谢大家!!!

真诚的柯克

尝试将 RootViewController 中的加载行更改为:

@Frank 首先感谢您对此的帮助!!我确实以相同的方式在 rootViewController 中设置了 violinMaker 对象,它在那里工作正常,如下所示:

在这里,我在 NSLog 中看到它在这里加载得很好,所以我相信将它从 objectAtIndex:indexPath.row 加载到数组中,然后复制该数组并将其从 DetaisViewController 放入 ViolinMaker 对象中。我不想在 DetailsViewController 中重新创建 ViolinMaker 对象,只需像从 RootViewController 中一样从数组中重新加载它。

这就是 DrillDownSave Apple 示例的操作方式,并且我已镜像此配置。在didSelectRowAtIndex中的level1ViewController中,下面的代码

我不需要关键部分,因为那是为了回忆位置。示例代码中的两个控制器都使用同名的 NSArray,它似乎通过这一行将 L1 数组复制到 L2 数组。

他们使用推送的 TableViews,这很容易,但我不只是这样做,IBOutlets 将信息加载到 UITextView 的,所以我必须在 RootView 控制器中分配数组,选择发生的地方。如果我可以保留在 RootView 控制器中分配的 ViolinMaker,那么我可以在详细信息中选择它,但我似乎也无法弄清楚......

谢谢你帮助我,我真的卡住了..