ios - 禁止在 iOS 中旋转启动 View

标签 ios rotation splash-screen

我有一个初始屏幕,我将 alpha 从 100 淡化到 0。我希望 shouldAutorotateToInterfaceOrientation 仅在 alpha 为 0 时返回 YES。我无法使此代码工作:

if ( splashView.alpha == 0 )
{
    return YES;
} else {
    return NO;
}

相反,splashView.alpha 始终返回 null。有什么想法吗?

最佳答案

当您将 alpha 设置为零时,转身并向 View 询问其 alpha 将返回零。即使动画没有完成(如果您想了解发生了什么,Core Animation 中 modelLayer 和 presentationLayer 之间的区别)。

要获得您正在寻找的东西,这样的事情应该可行;

- (BOOL)shouldAutorotateToInterfaceOrientation:(...) {
  BOOL shouldAutoratate = NO;
  if(self.splashViewFaded) {
    shouldAutorotate = YES;
  }
  return shouldAutorotate;
}

然后在您的 appDidFinishLaunching 方法中(或任何有意义的地方)做这样的事情;

self.viewController.splashViewFaded = NO;
[UIView animateWithDuration:0.25 // or whatever
                      delay:0.0 // or whatever
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^() {
                                self.splashView.alpha = 0.0;
                            }
                 completion:^() {
                                self.viewController.splashViewFaded = YES;
                                [self.splashView removeFromSuperview];
                 }];

明智的话,我是凭内存输入的,所以它可能不会编译,如果你复制粘贴请去阅读文档。

关于ios - 禁止在 iOS 中旋转启动 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5973732/

相关文章:

ios - 如何在Swift 3中将NSFormatter数字用于数组中的波斯或阿拉伯数字?

javascript - 如何在 React Native 中根据其中心而不是起点旋转 svg?

ios - 健全性检查 : Architecture for designing views that work in both iOS and OSX?

ios - 有人可以解释 iOS "x-apple-msg-load://"吗?

c# - Bing map 旋转

rotation - 通过 ImageMagick 旋转 PNG

ios - 显示随机启动画面

javascript - scrapy-splash 无法呈现此页面 - 未呈现动态内容?

android - 如何在启动画面 Android 中设置消息

ios - UITapGestureRecognizer 不适用于 UIImageView