iOS: Displaying a new modal view on top of master (root) view in split view
I need to call a new modal view in the master view area after selecting a specific object from the initial list (tableview).
Tried this:
//new view init:
clientList *clientListCon = [[clientList alloc] initWithNibName:@"clientList" bundle:nil];
//pushing
[[splitViewController.viewControllers objectAtIndex:0] presentModalViewController:clientListCon animated:YES];
All I get:
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 开发者_StackOverflow中文版 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'
It seems like it ought to be:
[self presentModalViewController:clientListCon animated:YES];
I have no idea how you are getting a reference to a UITableView from the provided code though.
精彩评论