現在のViewControllerをオーバーレイする透明なモーダルViewControllerを作成しようとしています。backgroundcolor を clearcolor に設定しましたが、新しいビューコントローラーの背後に他のビューコントローラーが表示されないため、背景は黒です。UIAlertView のようなオーバーレイが必要です。
私はたくさんグーグルで検索しましたが、見つけた唯一の解決策はサブビューを追加することでした。iOS5を使用しています。
現在のViewControllerをオーバーレイする透明なモーダルViewControllerを作成しようとしています。backgroundcolor を clearcolor に設定しましたが、新しいビューコントローラーの背後に他のビューコントローラーが表示されないため、背景は黒です。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