2011-07-09 25 views
1

我使用C#,Mono開發和Monotouch創建了一個IPad應用程序。如何使用UITableViewDelegate.AccessoryButtonTapped(使用Monotouch)

我一直在使用Monotouch.Dialog來創建類似於iPhone上的wifi設置的功能。我正在使用StyledStringElement和一個附件,現在我試圖區分輕敲這個行和點擊DetailDisclosureButton。

我已經發現我應該重寫UITableView上的UITableViewDelegate.AccessoryButtonTapped。我試圖從UITableViewDelegate創建一個派生類,並將其掛接到Monotouch.Dialog中。但這是我陷入困境的地方。我沒有設法用我的擴展版本替換現有的UITableViewDelegate。

所以我的問題是:

  1. 這是處理這一事件(能夠元件的龍頭,在DetailDisclosureButton水龍頭區分)的首選方式是什麼?

  2. 如果不是,有關如何完成此任務的任何指針?

  3. 我一直在網上尋找一個(類似)的例子,但還沒有找到。你知道的任何例子都可以讓我開始?

感謝,

鮑里斯

回答

2
event EventHandler accessoryPushed; 
public override void AccessoryButtonTapped (UITableView tableView, NSIndexPath indexPath) 
{ 
if(!accessoryPushed) 
{ 
    accessoryPushed(this,EventArgs.Empty); 
} 


} 

您需要將它添加到您正在使用的DailogViewController代碼(這將覆蓋敲擊動作)。您可能希望觸發一個事件,而不是一個簡單的函數,因此只需在您的主代碼中處理該事件即可。這可能是你最好的選擇。

一旦你改變這一行,你就必須實現像AccessorySelected新的功能(只是模仿選擇除與附件一排時,代碼如下路徑)。

在另一方面,你可以嘗試不同的導航方法,經常披露按鈕是煩人,你不想點擊他們除了獲得有關按鈕(如幫助功能)簡單的信息。

我還沒有找到任何其他的例子,對不起!

+0

謝謝你幫我。確實解決了我的問題! –

+1

那麼,這不就是答案嗎? – Kiran