我正在尝试创建一个透明的模态 ViewController,它覆盖当前的 ViewController。我将 backgroundcolor 设置为 clearcolor 但背景是黑色的,因为另一个 viewcontroller 没有显示在新的 viewcontroller 后面。我想要一个像 UIAlertView 这样的叠加层。
我用谷歌搜索了很多,我发现的唯一解决方案是添加一个子视图。我正在使用iOS5。
我正在尝试创建一个透明的模态 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"];
您可以使用上面给出的代码覆盖该willMoveToSuperView
方法。
沿着这些路线做一些事情是可行的。我们是根据这篇文章做的:
http://trongdth.blogspot.com/2011/08/create-overlay-view-in-ios.html