0

UIAlertView からビュー コントローラーにモーダルしようとしています。

- (IBAction)cancelScripting:(id)sender {


UIAlertView *areYouSure = [[UIAlertView alloc]initWithTitle:@"Are You Sure?" message:@"Are you sure you want to quit scripting?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];

[areYouSure show];



}


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 1) {


    CRHViewController *firstView = [[CRHViewController alloc] init];


    [self.navigationController modalViewController:firstView animated:YES];    }
}

私の .h ファイルには UINavigatoinDelegate セットがあります

@interface CRHScripting : UIViewController     <UITextViewDelegate,UINavigationControllerDelegate>

ストーリーボードでは、View Controller の識別子を firstView に設定しています。

この線

[self.navigationController modalViewController:firstView animated:YES];

私にすべての問題を与えています。エラーは言う

"No visible @interface for 'UINavigationController' declares the selector     'modalViewController:animated:' 

これは何を意味するのでしょうか?

更新: My View が完全に読み込まれなくなりましたが、View Controller が表示されます

ここに私の初期化コードがあります:

#import "CRHViewController.h"

@interface CRHViewController ()

@end

@implementation CRHViewController


-(void)updateTimer {

NSDateFormatter *format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"h:mm"];
clockLabel.text = [format stringFromDate:[NSDate date]];

}


- (void)viewDidLoad
{
    [super viewDidLoad];




    // Do any additional setup after loading the view, typically from a nib.

    timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self     selector:@selector(updateTimer) userInfo:nil repeats:YES];

    [homeIconScrollView setScrollEnabled:YES];
    [homeIconScrollView setContentSize:CGSizeMake (150,1100)];

    NSLog(@"Did Load first View"); 

}

- (void)viewDidAppear:(BOOL)animated {



[UIImageView beginAnimations:NULL context:nil];
[UIImageView setAnimationDuration:2];
[scrollNotify setAlpha:0];
[UIImageView commitAnimations];


}

- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:  (UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIDeviceOrientationLandscapeRight);
}

@end
4

2 に答える 2

1

タイプミスがあります: そのpresentModalViewController.

スペルを間違えた名前のメソッドが見つからないため、そのエラーがスローされます

于 2012-09-11T23:37:08.497 に答える
1

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completionUINavigationController メソッドではなく、UIViewController メソッドです。正しい行は次のとおりです。

[self presentViewController:firstView animated:YES completion:nil];

*- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated現在、非推奨として表示されていることに注意してください。それでも使いたい場合:

[self presentModalViewController:firstView animated:YES];
于 2012-09-12T00:11:18.117 に答える