繁体   English   中英

iOS透明ViewController

[英]iOS Transparent ViewController

我正在尝试创建一个透明的模态ViewController,它覆盖了当前的ViewController。 我将backgroundcolor设置为clearcolor但背景是黑色,因为另一个viewcontroller没有显示在新viewcontroller的后面。 我想要一个类似UIAlertView的叠加层。

我做了很多事情,发现的唯一解决方案是添加一个子视图。 我正在使用iOS5。

在您呈现“模型视图”后,将背景颜色设置为清除,将背景设置为透明,然后再呈现将不起作用。

如果您想像UIAlertView一样呈现视图,请使用此-

CAKeyframeAnimation *animation = [CAKeyframeAnimation
        animationWithKeyPath:@"transform"];

    CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1);
    CATransform3D scale2 = CATransform3DMakeScale(1.2, 1.2, 1);
    CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1);
    CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);

    NSArray *frameValues = [NSArray arrayWithObjects:
        [NSValue valueWithCATransform3D:scale1],
        [NSValue valueWithCATransform3D:scale2],
        [NSValue valueWithCATransform3D:scale3],
        [NSValue valueWithCATransform3D:scale4],
        nil];
    [animation setValues:frameValues];//Courtesy zoul.fleuron.cz

    NSArray *frameTimes = [NSArray arrayWithObjects:
        [NSNumber numberWithFloat:0.0],
        [NSNumber numberWithFloat:0.5],
        [NSNumber numberWithFloat:0.9],
        [NSNumber numberWithFloat:1.0],
        nil];    
    [animation setKeyTimes:frameTimes];

    animation.fillMode = kCAFillModeForwards;
    animation.removedOnCompletion = NO;
    animation.duration = .2;
    [self.backColor SETCOLOUR HERE];
    [self.layer addAnimation:animation forKey:@"uialertViewPopUP"];

U可以使用上面给出的代码willMoveToSuperView方法。

沿着这些思路做某事是可行的。 我们基于这篇文章做到了:

http://trongdth.blogspot.com/2011/08/create-overlay-view-in-ios.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM