如何阻止视图控制器变成清晰的颜色?

时间:2014-01-20 23:29:45

标签: objective-c

我为我的应用创建了一个屏幕教程。 我通过创建PageViewController来管理4 viewControllers来完成此操作。 在PageViewController我实现了以下代码

self.modalPresentationStyle = UIModalPresentationFormSheet; 我还将pageViewController视图上的alpha设置为.45

这使得PageViewController透明,这正是我想要的。 但是,它也使得由PageViewController管理的4 viewControllers内的所有内容都是透明的,即按钮,标签等。

如何阻止所有这些对象透明?

2 个答案:

答案 0 :(得分:0)

要更改视图的背景颜色,请在视图上使用以下颜色:

[viewController.view setBackgroundColor:[UIColor COLOR]];

其中COLOR是您想要的颜色(即whiteColor)

答案 1 :(得分:0)

视图总是像这样工作。如果你想让一个半透明的视图,如果它也不会影响它的所有子视图,那通常会非常令人烦恼。您希望Alpha设置也影响子视图的时间可能远远超过您不支持的次数。

您可以做的不是让视图透明,而是使其背景颜色透明。也就是说,而不是:

self.view.backgroundColor = [UIColor blueColor];
self.view.alpha = 0.45;

你可以这样做:

self.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:.45];

这样,您的子视图不会受到影响,因为主视图的背景颜色的alpha为0.45时,视图的alpha值仍为1.0。