2009-05-19 7 views
3

iPhoneのUIViewの2つのレイヤーをオーバーレイする適切な方法は何ですか?アンダーレイビューは、ボタンが押されるまで有効にしてから、もう1つのUIViewはすべて を透明な方法でカバーする必要があります。 私はモーダルビューコントローラを見つけましたが、単にUIビューを交換しますが、オーバーレイしません。UIViewのオーバーレイ

ありがとうございます。

クリス

答えて

5

既存のビューにビューを追加するために[existingView addSubview:newView];を使用する必要があります。 newViewは既存のViewの上に表示されます。だから、概念的には、次のようなメソッドを呼び出しますIBActionに接続し、existingView上のボタンを作成します。

CGRect newSize = CGRectMake(0.0f ,0.0f, 320.f, 400.0f); 
UIView *newView = [[UIView alloc] initWithFrame:newSize]; 
[existingView addSubview:newView]; 
[newView release]; 

これはexistingViewの上にnewViewを配置します。

+0

小さなミス:[existingView addSubview:newView]。 – Chris

2

のUIView

用透明オーバーレイを有する簡単な3線ARC互換性があり、次の
_overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    _overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5]; 
    [self.view addSubview:_overlayView];