-1

IBAction で新しい UIViewController を開く必要がある場合があります。この新しい UIViewController は透過的であるはずです。通常のモーダル遷移を行うと、古い UIViewController が非表示になります。これに関する提案はありますか?

4

1 に答える 1

1

目的のために、モーダル View Controllers ビュー プロパティにアルファを変更するように指示する必要があります。(View Controllerで行うのが最適ですviewDidLoad

次のように簡単です。

- (void) viewDidLoad
{
[self.view setAlpha:0.5];
}

もう 1 つの方法は、新しくUIView追加されたビュー コントローラーをメイン ビュー コントローラーのサブビューとして使用することです。以下は、アニメーション化する方法を示しています。

UIView *myNewView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[myNewView setAlpha:0.0];
[self.view addSubview:myNewView];

[UIView animateWithDuration:1.5 animations:^{
    [myNewView setAlpha:0.5];
}];

編集:背景ビューのアルファを変更し、そのサブビューのアルファを保持するには、次のように設定してみてください。

[myNewView setBackgroundColor:[[UIColor blueColor] colorWithAlphaComponent:0.2]];

[myNewViewsSubView setBackgroundColor:[[UIColor redColor] colorWithAlphaComponent:1.0]];
于 2012-07-11T02:03:18.393 に答える