II は、UIBarButton を UINavigationController に追加したいと考えていました。私は次のコードの助けを借りてそれをしました、
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *rootController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:rootController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *addInfoButton = [[UIBarButtonItem alloc] initWithTitle:@"Add Info" style:UIBarButtonItemStylePlain target:self action:@selector(addCustomerInfo)];
self.navigationItem.rightBarButtonItem = addInfoButton;
}
-(void) addCustomerInfo
{
AddInfoViewController *addVC = [[AddInfoViewController alloc] initWithNibName:@"AddInfoViewController" bundle:nil];
[addVC setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:addVC animated:YES];
}
-(void) addCustomerInfo
.h ファイルで" " を宣言する必要がありますか? 私はすでにそれを試しましたが、運がありません。
コードはまだ例外をスローしますが、
2012-08-06 04:16:22.200 TableView[5698:f803] -[RootViewController addCustomerInfo]: インスタンス 0x6c662b0 に送信された認識されないセレクター 2012-08-06 04:16:22.202 TableView[5698:f803] *キャッチされていないためアプリを終了例外 'NSInvalidArgumentException'、理由: '-[RootViewController addCustomerInfo]: 認識されないセレクターがインスタンス 0x6c662b0 に送信されました'