iPad上的模态表单在Swift中透明?

Posted

技术标签:

【中文标题】iPad上的模态表单在Swift中透明?【英文标题】:Modal form sheet on iPad transparent in Swift? 【发布时间】:2015-08-25 16:04:05 【问题描述】:

我想制作一个表单,以模态方式呈现,部分透明,类似于 ios 7+ 中音量计或控制中心部分透明的方式。

我正在使用 XCode 6.3.2、Swift 1.2 进行编程,它适用于 iOS 8 平台 (iPad)。

我尝试了以下方法:

在 Storyboard 中将 ViewController 的 alpha 值设置为 0.5

背景颜色结果显示较暗,但不透明,文字显示模糊。

将情节提要中的背景颜色设置为“清除颜色”

背景颜色看起来更暗,没有注意到更暗的文字。

将背景颜色设置为透明度为 30% 的颜色

与上面类似。

De - 选择Clears Graphics Content

最终结果没有明显变化。

为了澄清,我想要 iPad 上的部分透视模态视图,而不是较暗的背景。

有没有办法做到这一点,在 Swift 或 Storyboard 中?

【问题讨论】:

【参考方案1】:

Rocket101,这是我用来实现类似效果的代码。它在 Objective C 中,但您应该能够轻松地翻译它。 在登录期间,我用“coverView”阻止了我当前的视图,它显示了一个模糊的徽标。在您的情况下,您不会包含“背景图像”。 以下是我创建模糊效果的方法。

  UIView *coverView = [[UIView alloc] init];
  coverView.frame = self.tabBarController.view.bounds;
  UIImage *backgroundImage = [UIImage imageNamed:@"SomeBackgroundImage"];
  UIImageView *backgroundView = [[UIImageView alloc] initWithImage:backgroundImage];
  backgroundView.frame = self.tabBarController.view.bounds;
  UIVisualEffect *blurEffect;
  blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight];
  UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
  effectView.frame = self.tabBarController.view.bounds;
  effectView.alpha = 0.8;
  [coverView addSubview:backgroundView];
  [coverView addSubview:effectView];
  [coverView sendSubviewToBack:effectView];
  [coverView sendSubviewToBack:backgroundView];
  [theView addSubview:coverView];

【讨论】:

以上是关于iPad上的模态表单在Swift中透明?的主要内容,如果未能解决你的问题,请参考以下文章

iPad 模态表单视图不

视图控制器以模态方式呈现/关闭时的通知?

在 Ipad 上的模态视图上插入子视图

iPad模态表单无论如何都会占据整个屏幕

Swift 中的模态视图

具有透明背景的模态 UISplitViewController