5

私はUIViewControllerを持っています。ボタンを押すと、半画面表示をUIPickerでスライドさせたいと思っています。半画面モードの表示方法

UIPickerでIBでUIViewを作成し、完了/キャンセルボタン付きのUIToolBarを作成しました。

この半分のビューだけがスライドし、バックグラウンドビューはまだ表示されていますが、淡色表示されたり、再生できないようにするにはどうすればよいですか。

私はこれまでのところ、このコードを使用しています:ここで

- (void)showModalView 
{ 
    [self.popupView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)]; 
    [self.view addSubview:self.popupView]; 

    [UIView animateWithDuration:.2 animations:^{ 
     [self.popupView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
    }]; 
} 

は写真です:http://www.box.net/shared/static/08ji4s0f6i1b8qubrtz6.png

答えて

2

github TDSemiModalViewに半分の日付のピッカーがあるオープンソースコードが必要です。コード内のデモプロジェクトを確認してください。ここにリンクがあります..あなたの問題を解決することを願っています。

TDSemiModalClass

4

@ジョン:

METHOD-1:

あなたのメインを作りますtransperantをアルファ値を0に設定して表示し、メインビューの半分だけであるメインビューにサブビューを追加して保持するデフォルトでは不透明(アルファ値は1)です。

次に、現在のモーダルビューコントローラを使用してビューコントローラを表示します。

トランスペアレンシーのため、以前のビューの半分を見ることができますが、トランスペアレントなビューがあるので、それに触れることはできません。

METHOD-2:

周りのもう一つの仕事は、既存のビューのサイズの半分であるのUIViewをアニメーション化することです。

次に、UIViewのアニメーションに従わなければなりません。

これは、既存のビューにサブビューとして追加される単なるUIViewであるため、残りの画面に触れることができます。

あなたの要件に従って、いずれかの方法に従うことができます。

希望すると、これが役に立ちます。

関連する問題