如何在 iOS 8 上为 superview 制作 clearColor

Posted

技术标签:

【中文标题】如何在 iOS 8 上为 superview 制作 clearColor【英文标题】:How to make a clearColor for superview on iOS 8 【发布时间】:2014-12-13 15:22:10 【问题描述】:

请帮忙。如何在ios 8上为模态视图制作清晰的颜色,这样写

self.view.superview.backgroundColor = [UIColor clearColor];

在 iOS 7 上工作,但在 iOS 8 上不工作。变得清晰但不完全

【问题讨论】:

【参考方案1】:

尝试像这样更改 alpha 值:-

[[UIColor clearColor] colorWithAlphaComponent:0.6];

【讨论】:

是的,还有清晰的颜色。视图可以是透明的,但超级视图不是。 self.view.superview = nil;错误 - 分配给只读属性 好的,所以不允许,但你可以尝试将你的子视图大小设置为与 superview 相同。【参考方案2】:

如果你为 UIViewController 主视图设置了背景颜色,你需要在之前设置它:

- (void)setupModalPresentationStyle

    self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")) 
        self.modalPresentationStyle = UIModalPresentationOverFullScreen;
    


- (void)awakeFromNib

    [super awakeFromNib];
    [self setupModalPresentationStyle];

当你呈现这个 UIViewController 时,你需要设置当前呈现的 UIViewController:

- (void)doneButtonTap:(id)sender 
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    [self presentViewController:detailsViewController animated:YES completion:nil];

【讨论】:

这段代码在哪里写? self.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentViewController:detailsViewController 动画:YES 完成:nil]; 展示模态视图控制器的地方

以上是关于如何在 iOS 8 上为 superview 制作 clearColor的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 3.0 中制作 5*8 集合视图 [关闭]

如何在 iPhone、iOS 8 上为弹出框设置动画

如何在 Superview 的视图中插入视图? (iOS)

iOS - superView 的相对顶部空间

如何在iOS中将触摸事件发送到superview?

iOS Autolayout如何在superview中拉伸子视图