iPad UIPopOverController - 是否可以有透明的背景?

3

有没有人知道在iPad上是否可以为UIPopOverController设置透明背景?

我想在弹出窗口中放置半透明视图(因此希望弹出窗口本身具有透明背景)。

我认为这是不可能的......但我很想知道我是否错了!

4个回答

0

我认为设置弹出窗口中视图的透明度不会起作用,但我从未尝试过,也许会。

无论如何,另一种很酷的方法是在弹出控制器内部获取主要UIView的UIImage渲染。

一旦您拥有此图像,假设您还知道弹出窗口相对于打开它的视图控制器所处的位置(其CGRect),则可以按照以下过程操作。

  1. 隐藏弹出窗口。
  2. 在相同位置显示透明UIImageView中呈现的UIImage。(您可以自己添加一些边框,使其看起来像弹出窗口。)
  3. 重新显示弹出窗口。

效果将是UIPopoverController“淡出”。

如果第一个解决方案也有效,我知道这是一种困难的方法,但这可能是一个很酷的项目。


-1
为什么不在显示弹出视图之前添加一个透明度设置为0.5的视图,然后使用


presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;

弹出窗口传递已创建视图的引用的方法。


因为那样做不能得到期望的结果。 - Olie

-2

可以让UIPopOverController具有半透明的背景。请查看以下示例。

[[[myPopOverController contentViewController] view] setAlpha:0.25f];

2
这将应用于整个弹出窗口,而不是背景。 - Yogesh Agarwal

-3
通常弹出控件将是透明的,我们无法将弹出控件更改为半透明视图。

3
弹出框完全不透明,而非半透明。 - Roger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接