如何以透明模式推送视图控制器?

Kis*_*mar 6 alpha-transparency uinavigationcontroller pushviewcontroller ios

我正在尝试使用透明模式推送视图控制器。

这是我的代码:

SearchViewController * searchViewController= [self.storyboard instantiateViewControllerWithIdentifier:@"SearchViewController"];
searchViewController.view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.7f];
[self.navigationController pushViewController:searchViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

我做错的事情找出来并帮助我解决这个问题。

小智 -3

在 iOS 中,背景的默认颜色是黑色。所以你的导航控制器有一个黑色的背景。

如果您按下控制器,当前的控制器将被新控制器取代。如果新的具有透明颜色,您将看到导航视图。

如果我理解你希望你的第一个控制器仍然可见?如果是,那么您应该使用:

SearchViewController * searchViewController= [self.storyboard instantiateViewControllerWithIdentifier:@"SearchViewController"];
searchViewController.view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.7f];
[self presentViewController:searchViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

您还可以使用自定义 Segue 来进行相关操作