1

我有一個客戶列表的SplitViewController打開ModalView,選擇客戶端後,我打開包含在它上面的所有信息與下面的代碼modalView:從ModalView

detailsForm *detView = [[[detailsForm alloc] setDict:[[self.curClientList objectAtIndex:indexPath.row] attributes]] autorelease]; 
[detView setModalPresentationStyle:UIModalPresentationPageSheet]; 
[detView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
[self presentModalViewController:detView animated:YES]; 

然後,在該控制器上有一個「編輯」按鈕,應該打開另外1個模態視圖。 按鈕事件有以下代碼:

NSLog(@"Edit button clicked"); 
editNewClient *editView = [[[editNewClient alloc] edit:YES setEditData:self.resultsDict] autorelease]; 
[editView setModalPresentationStyle:UIModalPresentationPageSheet]; 
[editView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
[self.splitViewController presentModalViewController:editView animated:YES]; 

沒有任何反應。如果我更改線路

[self.splitViewController presentModalViewController:editView animated:YES]; 

[self presentModalViewController:editView animated:YES]; 

我得到一個異常:

-[detailsForm viewControllers]: unrecognized selector sent to instance 0x53882d0 

有什麼不對? 或者我不得不使用代表?

回答

2

presentModalViewController僅在ViewController中使用時纔有效。這是一個UIViewController消息。在這種情況下,我不認爲你的'自我'是一個控制者。這就是選擇器無法識別的原因。如果我是你,我會使用委託來做到這一點。我希望這有幫助。

+0

嗯,我修好了。上面的代碼是「OK」。問題出現在第二個視圖控制器中,該視圖控制器有一個與父級父對象的鏈接斷開,該對象似乎不是控制器,就像你說的。現在一切正常,謝謝。 – Razp 2011-04-01 11:00:31

+0

很高興我能幫到你。 – Joze 2011-04-01 11:06:37