0

私は最初の viewController に次のようなコードを持っています:

- (IBAction)showSetting:(id)sender{
   settingView = [[settingController alloc]initWithNibName:@"settingController" bundle:nil];
   settingView.modalPresentationStyle =  UIModalTransitionStyleCrossDissolve;
   [self presentModalViewController:settingView animated:YES];
}

次に、2 番目のビュー (settingController.m) で:

- (IBAction)closeSetting:(id)sender{
   [self dismissModalViewControllerAnimated:YES];
}

現在のモーダルを表示しながら背景の透明度を設定したいのですが、真っ黒な画面が表示されます。誰かが私を助けることができます..

4

3 に答える 3

0

同様に、あなたの settingView を提示する rootViewController があります。

settingView .view.backgroundColor = [UIColor clearColor];
rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[rootViewController presentModalyourViewController:settingView  animated:YES];`

遷移を伴う UIModalPresentationCurrentContext

settingView .modalPresentationStyle = UIModalPresentationCurrentContext;
settingView .modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

これを試して

- (IBAction)showSetting:(id)sender{
   settingView = [[settingController alloc]initWithNibName:@"settingController" bundle:nil];
   settingView .view.backgroundColor = [UIColor clearColor];
    settingView .modalPresentationStyle = UIModalPresentationCurrentContext;
    settingView .modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalyourViewController:settingView  animated:YES];
}
于 2013-05-16T08:23:51.603 に答える
0

他の人が上で説明したように、次を使用してモーダル プレゼンテーションでそれを行うことができます。

settingView .modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

ただし、背後から別の色が表示される場合は、ウィンドウがその色を持っているためです。ウィンドウの背景色を設定してみてください (通常は AppDelegate で):

window?.backgroundColor = UIColor.whiteColor()

于 2016-02-24T14:54:00.997 に答える
0

これを使用してください

 settingView *settingViewObj=[[settingView alloc]initWithNibName:@"settingView" bundle:nil];
    UINavigationController *nController = [[UINavigationController alloc]initWithRootViewController:settingViewObj];
   [nController setNavigationBarHidden:NO];
   [self.navigationController  presentViewController:nController animated:YES completion:nil];

しかし、これは iOS 6 用のコードです。iOS 5 の場合は、

[self.navigationController  presentModelViewController:nController animated:YES];

お役に立てれば

于 2013-05-16T09:24:32.077 に答える