我想将视图控制器推送到导航堆栈,但我不希望它的视图最初出现 - 换句话说,我希望视图控制器推送时仍然可见的视图。
我尝试将视图控制器的视图的alpha值设置为0.0,我认为这会使其透明。但相反,当我将视图控制器推到堆栈上时,屏幕是白色的。如果我将alpha设置为1.0,则视图控制器的视图将按预期显示。
为什么它是白色而不透明?
答案 0 :(得分:1)
您必须手动将视图添加到viewcontrollers 不推它 例如,执行以下操作
YourViewController *vc = [[YourViewController alloc] init];
[self.view addSubview:vc.view];
vc.view.alpha = 0.0;
//Animate Here
vc.view.alpha = 1.0;
//Commit Animate Here
请注意,您不得不执行一些额外的编码来实现vc的发布,因为现在您保留了vc.view,您将无法轻松发布vc,
另一种解决方案是将第二个视图实现为viewcontoller,而不是将其实现为uiview,而xib类将是view而不是uiviewcontroller
答案 1 :(得分:0)
也许确保opaque属性设置为NO?
或许你正在推动的视图是在界面构建器中构建的,你有一个白色的背景颜色,你放在它上面的另一个视图,你只改变了子视图的不透明度?