0

ツールバーオーバーレイ上にプログラムでbarbuttonitemを作成しました。私のカメラにアクセスすると、これらすべてが表示されます。ボタンは正常に機能し、セレクターはそれを完全に呼び出すことができます。

これが.mのオーバーレイです。doneButtonセレクターを見てください。

- (UIView*)CommomOverlay  {
//Both of the 428 values stretch the overlay bottom to top for overlay function. It
doesn't cover it. 
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,420)];
UIImageView *FrameImg = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,420)];

[FrameImg setImage:[UIImage imageNamed:@"newGraphicOverlay.png"]];
FrameImg.userInteractionEnabled = YES;




UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 428, 320, 50)];


UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self
action:@selector(doneButtonPressed)];

[myToolBar setItems:[NSArray arrayWithObjects: cancelButton, flexiSpace2, flexiSpace,
doneButton, nil] animated:YES];

[view addSubview:FrameImg];
[view addSubview:myToolBar];
return view;



}

void関数に使用しているメソッドは次のとおりです。

//NewViewController is the nib I want to bring up when done is clicked.
-(void)doneButtonPressed {

NewViewController *UIView = [[NewViewController alloc] initWithNibName:nil bundle:nil];
UIView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:UIView animated:NO];
[UIView release];
NSLog(@"Acknowledged!");
}

ボタンが呼び出されていますが、何も起こりません。ご覧のとおり、NSLog関数を追加して、呼び出されているかどうかを確認しました。ボタンをクリックするとログに「確認済み」と表示されるので、セレクターに問題はありません。ボタンを使用してもアプリはクラッシュしません。これは、コーディングに重大な誤りがあった場合に発生するはずです(実際、警告も表示されません)。Xcodeを考慮する限り、すべて問題ありません。言うまでもなく、そうではありません。

また、このコードが実装されているViewControllerにNewViewControllerの.hファイルが正しく配置されています。

4

1 に答える 1

0

UIViewクラスの名前です。変数の名前として使用しないでください。せいぜいそれは非常に紛らわしく、問題の原因となる可能性があります。UIViewのような名前に変更myViewdoneButtonPressedます。

于 2012-07-31T06:15:04.277 に答える