iOS - 尝试淡化视图控制器

时间:2012-03-26 05:04:31

标签: ios uiview uiviewcontroller

在淡入淡出视图控制器时,我在viewDidLoad中执行以下操作:

  • 创建一个黑色背景的UIView;
  • UIView alpha值1.0f;
  • UIView添加为[self view];
  • 的子视图
  • 通过将{alpha}值更改为UIView,将animateWithDuration淡出0.0f;和
  • UIView
  • 中删除黑色[[self view] subviews]

通常情况下,这是按计划进行的。然而,偶尔,我会看到我想要隐藏的视图控制器的一瞥,就在绘制黑色UIView之前。

有没有办法避免这种情况?是否有更好的方法来放置此代码而不是viewDidLoad

非常感谢

2 个答案:

答案 0 :(得分:0)

是的,在loadView方法中添加视图,并在viewDidLoad或viewDidAppear中执行实际动画。或者像上面的评论员所说的那样,只使用视图alpha。

答案 1 :(得分:0)

我会在UIView的nib文件中创建我想隐藏的UIViewController,然后通过IBOutlet将其链接

@interface SomeViewController: UIViewController
{
      IBOutlet UIView *blackView;
}

然后在UIViewController的{​​{1}}方法中,我会执行以下操作

-(void) viewDidLoad;