2011-03-18 49 views
0

從初始列表(tableview)中選擇特定對象後,我需要在主視圖區域中調用新的模態視圖。iOS:在分割視圖的主(根)視圖頂部顯示新的模態視圖

試過這樣:

//new view init: 
    clientList *clientListCon = [[clientList alloc] initWithNibName:@"clientList" bundle:nil]; 
//pushing 
[[splitViewController.viewControllers objectAtIndex:0] presentModalViewController:clientListCon animated:YES]; 

我得到:

MultipleDetailViews[12997:40b] -[UITableView presentModalViewController:animated:]: unrecognized selector sent to instance 0x584d800 
2011-03-18 14:40:51.449 MultipleDetailViews[12997:40b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableView presentModalViewController:animated:]: unrecognized selector sent to instance 0x584d800' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x017035a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x01857313 objc_exception_throw + 44 
    2 CoreFoundation      0x017050bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x01674966 ___forwarding___ + 966 
    4 CoreFoundation      0x01674522 _CF_forwarding_prep_0 + 50 
    5 MultipleDetailViews     0x00008051 -[RootViewController tableView:didSelectRowAtIndexPath:] + 354 
    6 UIKit        0x00a8fb68 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1140 
    7 UIKit        0x00a85b05 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 219 
    8 Foundation       0x0079779e __NSFireDelayedPerform + 441 
    9 CoreFoundation      0x016e48c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19 
    10 CoreFoundation      0x016e5e74 __CFRunLoopDoTimer + 1220 
    11 CoreFoundation      0x016422c9 __CFRunLoopRun + 1817 
    12 CoreFoundation      0x01641840 CFRunLoopRunSpecific + 208 
    13 CoreFoundation      0x01641761 CFRunLoopRunInMode + 97 
    14 GraphicsServices     0x0205a1c4 GSEventRunModal + 217 
    15 GraphicsServices     0x0205a289 GSEventRun + 115 
    16 UIKit        0x00a26c93 UIApplicationMain + 1160 
    17 MultipleDetailViews     0x000069a4 main + 102 
    18 MultipleDetailViews     0x00006935 start + 53 
) 
terminate called after throwing an instance of 'NSException' 

回答

0

現在看來似乎應該是:

[self presentModalViewController:clientListCon animated:YES]; 

我不知道你是如何得到一個參考從提供的代碼到UITableView。

+0

在這種情況下,clientListCon以全屏模式打開。我只想要它覆蓋根視圖。 – Razp 2011-03-18 15:40:34

+0

UITable來自SplitView聲明 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //我需要: NSUInteger row = indexPath.row; if(row == 0){ push a new modal controller} } – Razp 2011-03-18 15:43:04

+0

它可以: [self.navigationController pushViewController:clientListCon animated:YES]; 但我正在尋找一種方式來顯示模式視圖,而無需使用導航控制器。 – Razp 2011-03-18 15:46:17