2014-04-07 41 views
1

我在Xamarin中构建了一个简单的表格视图应用程序。我在UITableViewSource RowSelected事件是在模拟器完美的工作,但是当我在调试运行iOS 7.1Xamarin:RowSelected没有在设备上调用,在模拟器中罚款

我的iPhone 4S的应用程序没有被称为这是继承UITableViewSource

类中我的代码
public override void RowSelected (UITableView tableView, NSIndexPath indexPath) 
    { 
     Console.WriteLine ("Selected"); 
     tableView.DeselectRow (indexPath, true); 
    } 

在模拟器中按预期方式添加断点,但在设备上运行时断点永远不会被命中。没有错误发生,表格中的单元格保持被选中,就好像我没有重写RowSelected方法一样。

我已经尝试了大量的东西,包括剥去所有其他事件代码,甚至从头开始项目。

任何帮助将非常感激。

+0

您确定您在调试中的设备上运行更多吗? – choper

+0

尝试在您的GetCell()中设置cell.UserInteractionEnabled为true –

+0

@choper是的,我在其他地方添加了其他断点和Console.WriteLine,并且所有这些都调用正常。 – philwilks

回答

0

我遇到过这样的问题,您是否在表格单元格中添加了一些“点按”手势或其他东西?因为当你点击一行时,就会调用它,而不是Row Selected方法。

希望它有帮助。

+0

感谢您的建议,但我没有添加任何其他手势。 – philwilks

2

我刚刚在这个问题上反弹。没有答案的解释,但我关闭了Xcode,清理并重建了解决方案。在我的情况下,模拟器工作正常,但设备不会触发行选择。

0

我发现解决方案是这样的,以从我在Visual Studio中编译的Xamarin项目中删除引用的DLL。相反,我将构成DLL的C#文件添加到Xamarin解决方案中,然后允许Xamarin Studio将它们编译为构建过程的一部分。这立即解决了这个问题。

我尝试过的其他事情之一是更改为Alpha版Xamarin Studio。起初这似乎解决了这个问题,但我后来意识到,虽然我的应用程序中的主要UITableView现在正在触发RowSelected事件,但还有另一个UITableView仍然无法工作。

相关问题