3

共有ボタンをクリックすることを含む共有ページの概要と、いくつかの共有機能を備えた上部に表示されるモーダル ビューがあります。

私の問題は、モーダル ビューの背景を半透明にして、その下にビューを表示したいということです。モーダルレイヤーの背景プロパティを設定しました。モーダルが表示されると、下のレイヤーが簡単に表示されます-必要に応じて正確に見えます-しかし、カバートランジションが完了するとすぐに背景ビューが非表示になります-回避策はありますかこれ?

(ちなみにIOS7使用)

乾杯

更新- @Tommaso Resti は、この問題の解決を試みて理解するのを親切に助けてくれました - 私がこれまでに行ったことを説明するために - 私のメインストーリーボードには、識別子 'ShareScreenView' を持つリンクされていない uiview が含まれています - これを私の mainView に追加したいと思いますボタンをクリックしたときの透明なモーダル。ボタンを IBAction としてリンクし、以下をメソッドに追加しました -

- (IBAction)shareBtn:(id)sender {


    NSLog(@"clicked");



    /* Create your view off the screen (bottom) */

    /* NEW EDIT */
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone"
                                                         bundle: nil];
    UIViewController *myModalController = [mainStoryboard instantiateViewControllerWithIdentifier:@"ShareScreenView"];

    [myModalController.view setFrame:CGRectMake(0, 568, 320, 568)];
 // [myModalController.view setFrame: CGRectMake(0, [[UIScreen mainScreen].bounds.size.height], [[UIScreen mainScreen].bounds.size.width], [[UIScreen mainScreen].bounds.size.height])];


 /* Animate it from the bottom */
 [UIView animateWithDuration:.5 animations:^{
    CGAffineTransform move = CGAffineTransformMakeTranslation(0, -[UIScreen mainScreen].bounds.size.height);
    [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
    myModalController.view.transform = move;   /* UPDATED HERE */
     NSLog(@"Atrying");
 } completion:^(BOOL finished) {
    NSLog(@"Adid try");
    if(finished) {
        NSLog(@"Animation completed");
    }
 }];

} 

しかし、私は行にエラーが発生します -

[myModalController.view setFrame: CGRectMake(0, [[UIScreen mainScreen].bounds.size.height], [[UIScreen mainScreen].bounds.size.width], [[UIScreen mainScreen].bounds.size.height])] ;

高さを指す矢印で「予想される識別子」を単に示します(以下のスクリーンショットを参照)

ここに画像の説明を入力

だから私は次のようにプロパティを追加しようとしました -

 [myModalController.view setFrame:CGRectMake(0, 568, 320, 568)];

今はエラーはありませんが、何も起こらず、エラーもありません..

4

3 に答える 3

0

View Container を使用して独自の ModalViewController を作成し、@Tommaso Resti が言うようにアニメーションを実行できます

于 2013-11-15T10:30:54.070 に答える
0

下からスライドしてビューを半透明にするビューを作成できます。

于 2013-11-15T10:16:57.597 に答える