我在视图之间转换时遇到问题,需要一些帮助。这有点令人困惑,所以请多多包涵。
我有一个 UINavigationController 名为JobsNavController
. JobsNavController 中的第一个视图包含一个 UITableViewController,名为JobsTableViewController
[带有一个链接的 nib,名为JobTableView.xib
]。我想Add
在 UINavController 中添加一个 UIButton 来“创建新工作”。JobTableView.xib
单击时,它应该从我的JobCreateViewController
笔尖翻转到JobCreateView.xib
. 由于“添加”按钮位于 UINavController 中,因此我将 IBAction 代码放在JobsNavController.h and .m
.
这里是JobsNavController.h
#import <UIKit/UIKit.h>
@class JobCreateViewController, JobsTableViewController;
@interface JobsNavController : UINavigationController {
IBOutlet UIButton *btnJobCreate;
IBOutlet JobCreateViewController *jobCreateViewController;
IBOutlet JobsTableViewController *jobsTableViewController;
}
-(IBAction)tellDelegateToFlip:(id)sender;
@property (nonatomic, retain) UIButton *btnJobCreate;
@property (nonatomic, retain) IBOutlet JobCreateViewController *jobCreateViewController;
@property (nonatomic, retain) IBOutlet JobsTableViewController *jobsTableViewController;
@end
这是我的JobsNavController.m
#import "JobsNavController.h", "Time_Blogger1AppDelegate.h", "JobsTableViewController.h"
@implementation JobsNavController
@synthesize btnJobCreate, jobCreateViewController, jobsTableViewController;
.....
-(void)tellDelegateToFlip {
JobCreateViewController *jobAddView = [jobCreateViewController initWithNibName:@"JobCreateView" bundle:nil];
[self setJobCreateViewController:jobAddView];
[jobAddView release];
UIViewController *transitionTo = jobCreateViewController;
//create view animation block
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.25];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
[jobsTableViewController.view removeFromSuperview];
[self.view insertSubview:transitionTo.view atIndex:0];
[UIView commitAnimations];
[transitionTo release];
}
我没有收到任何构建/编译错误,但是当我单击按钮时模拟器会抛出异常:
2012-01-22 19:19:22.895 Time-Blogger1[4209:f803]
-[JobsNavController tellDelegateToFlip:]: unrecognized selector sent to instance 0x6c85e80 2012-01-22 19:19:22.897 Time-Blogger1[4209:f803]
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'-[JobsNavController tellDelegateToFlip:]: unrecognized selector sent to instance 0x6c85e80'