共有ボタンをクリックすることを含む共有ページの概要と、いくつかの共有機能を備えた上部に表示されるモーダル ビューがあります。
私の問題は、モーダル ビューの背景を半透明にして、その下にビューを表示したいということです。モーダルレイヤーの背景プロパティを設定しました。モーダルが表示されると、下のレイヤーが簡単に表示されます-必要に応じて正確に見えます-しかし、カバートランジションが完了するとすぐに背景ビューが非表示になります-回避策はありますかこれ?
(ちなみに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)];
今はエラーはありませんが、何も起こらず、エラーもありません..