当选择第二个单元格时,Swift UITableViewController didSelectRow首先调用

Man*_* Wa 2 uitableview ios swift

所以这是我的奇怪问题.
我有一个使用故事板的小应用程序.
我有1个UITabBarController有2个标签:
- 1 UITableViewController(子类)
- 1 UIViewController(只有一个UILabel,到现在为止什么也没做)

UITableViewController是子类,我提供:
- numberOfSectionsInTableView(tableView: UITableView) -> Int
- tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
- tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath)
-tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

tableview有2个部分(7行和1行).
第1部分中的行是自定义单元格,选中时不应执行任何操作.
第2部分中的行是标准UITableViewCell,应该开始下载.
但是当我选择任何单元格时tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath),甚至没有调用,只有在选择了另一个单元格(再次不同)后,才会使用我选择的第一个单元格调用didSelect.
另一个例子; (x,x)表示所选的indexPath
(1,0),什么也不做 - >(0,6),(1,0)被选中 - >(0,2),(0,6)被选中 - >选择(1,0),(0,2)

增加:
- 突出显示正在按预期工作.只是呼唤tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath)不是.
- tableView(tableView: UITableView, willSelectRowAtIndexPath indexPath: NSIndexPath) -> NSIndexPath?被称为合适.

解决方案:
委托方法中有点错字.我实施didDeselectRowAtIndexPath而不是didSelectRowAtIndexPath

iRi*_*iya 6

你打电话didDeselectRowAtIndexPath而不是didSelectRowAtIndexPath.您应该使用此方法:

tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

967 次

最近记录:

10 年,9 月 前