从一个视图导航到另一个视图时,我想让第二个视图透明。即导航后第一个视图内容应该是可见的。
我已经尝试通过背景颜色清晰和透明背景图像。但是在导航时它是透明的。
完全导航后,第二个视图背景变为黑色。
这是我的代码,
obj=[[loginViewController alloc]initWithNibName:@"loginViewController" bundle:nil];
[self presentModalViewController:obj animated:YES];
从一个视图导航到另一个视图时,我想让第二个视图透明。即导航后第一个视图内容应该是可见的。
我已经尝试通过背景颜色清晰和透明背景图像。但是在导航时它是透明的。
完全导航后,第二个视图背景变为黑色。
这是我的代码,
obj=[[loginViewController alloc]initWithNibName:@"loginViewController" bundle:nil];
[self presentModalViewController:obj animated:YES];
解决方案是覆盖 drawRect: 并处理其中的 alpha。你不能触摸 UIView 的 alpha 属性,也不能将视图的背景颜色设置为任何透明的东西。所有绘图必须在 drawRect: 中进行。通过这种方式,我能够在顶部堆叠透明视图和 pup 不透明元素。
只有当您查看第二个视图时,您才能实现此 目的。
通过使用presentmodalviewcontroller
or pushviewcontroller
,您的 firstview 将不可见。
Secondview *second = [[Secondview alloc] initWithNibName:@"Secondview" bundle:nil];
[self.view addSubview:second.view];
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromBottom];
[[self.view layer] addAnimation:animation forKey:@"transitionViewAnimation"];