iOS在当前视图中推出另外一个背景透明的视图控制器

原创 2015年07月11日 10:27:48

今天突然遇到这个需求,搜一下网上类似的解决方案,结果只有一个是用swift写的给了我启发,所以总结一下oc的解决方案:

eg: viewcontroller1 为当前视图控制器, viewcontroller2 为需要在 viewcontroller1上展示的底部透明的视图控制器


1.在viewcontroller1 要触发该功能的事件添加如下代码

   Viewcontroller2 *viewcontroller2 = [[Viewcontroller2 alloc]init];

   viewcontroller2.view.backgroundColor=[UIColorcolorWithRed:0green:0 blue:0 alpha:0.5];

    [selfpresentViewController:viewcontroller2animated:YEScompletion:nil];

此处需要注意:您要展示的那个底色透明的视图控制器 设置透明属性必须在这里提前设置

2.在 viewcontroller2 中的viewDidLoad 方法中添加

    self.modalPresentationStyle =UIModalPresentationCustom;


注意 style 的样式 


重新修改:(9月8日)

上面的代码片段在ios8.0系统上是没有任何错误的的,对于ios7.0系统这时候弹出的视图会存在背景界面为黑色的情况,所以作如下修改:

if(iOS(8.0)){

viewcontroller2.modalPresentationStyle = UIModalPresentationOverCurrentContext;

}else{

viewcontroller1.modalPresentationStyle = UIModalPresentationCurrentContext;

}

显示界面的背景颜色直接在要弹出的界面里面修改:

viewcontroller2.view.backgroundColor=[UIColorcolorWithRed:0green:0 blue:0 alpha:0.5];


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS 透明视图控制器

我们有时候需要使用弹出框,当然我们可以使用alertview,但是alertview的效果是有限的, 所以这个时候,我们就可以使用视图控制器了。很多情况下,我们都像让我们的视图控制器背景透明, 在...

iOS透明viewControler

有时候在跳转控制器的时候需要,跳转到当前控制器上方,显示一个可以看到下方原来控制器的半透明控制器。 跳转方式可以修改这句代码来实现,激变,从下往上。或者也可以自定义一些动画。(已经被我注释掉的那些)c...

iOS 弹出一个透明的控制器

LoginTipViewController * loginTipVC = [[LoginTipViewController alloc]init];     self.definesPresent...

iOS ViewController透明化

实现功能:ViewController_A调出ViewController_B,并且使ViewController_B的背景是透明的。 左图为ViewController_A,右图为ViewContr...

iOS 去掉UINavigationController(导航控制器)去除底部黑线、改背景颜色或者改为全透明

- (void)viewWillAppear:(BOOL)animated { // 改背景图     [self.navigationController.navigationBar setB...
  • saw471
  • saw471
  • 2016-06-02 12:00
  • 2004

tabBar选项卡的背景色如何修改(自定义tabBar)&&推送nav到指定(根)视图控制器

在tabBar区域加个视图 CGRect frame = CGRectMake(0,0,320,48); UIView *v = [[UIView alloc]initWithFrame:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)