モーダルビューがCGRectに含まれる領域に限定されるようにモーダルビューコントローラを表示できますか?CGRectのpresentModalViewController
もしそうでない場合は、2つのビュー間でモーダル・ビューの相互遷移を複製する方法を説明してください。
ありがとうございました。
モーダルビューがCGRectに含まれる領域に限定されるようにモーダルビューコントローラを表示できますか?CGRectのpresentModalViewController
もしそうでない場合は、2つのビュー間でモーダル・ビューの相互遷移を複製する方法を説明してください。
ありがとうございました。
:
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(x,y,w,h)];
[view setAlpha:0];
[self.view addSubView:view];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[view setAlpha:1];
[UIView commitAnimations];
出来上がりを!それはフェードイン! :)
通常のView Controllerにクロスディゾルブするには、modalTransitionStyleをUIModalTransitionStyleCrossDissolveに設定してからモーダル表示します。
サブビューのいくつかのペア間のクロスディゾルブを実行するには(そのフレームCGRectsに限定)、あなたはこのUIViewのメソッドを使用することができます。
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion.
ここでは、コードの中でそれを使用する可能性があります方法は次のとおりです。
@interface ViewController()
@property(strong,nonatomic) UIView *redView;
@property(strong,nonatomic) UIView *blueView;
@end
@implementation ViewController
@synthesize redView=_redView;
@synthesize blueView=_blueView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.redView = [[UIView alloc] initWithFrame:CGRectMake(40.0, 40.0, 240.0, 100.0)];
self.redView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.redView];
self.blueView = [[UIView alloc] initWithFrame:CGRectMake(40.0, 40.0, 240.0, 100.0)];
self.blueView.backgroundColor = [UIColor blueColor];
}
- (IBAction)crossDisolve:(id)sender {
UIView *fromView = (self.redView.superview)? self.redView : self.blueView;
UIView *toView = (fromView==self.redView)? self.blueView : self.redView;
[UIView transitionFromView:fromView
toView:toView
duration:1.0
options:UIViewAnimationOptionTransitionCrossDissolve
completion:^(BOOL finished) {NSLog(@"done!");}
];
// now the fromView has been removed from the hierarchy and the toView has been added
// please note that this code depends on ARC to release objects correctly
}
あなたの質問の難しい部分は、私があなたが推測しているのは、ディスプレイの一部だけをカバーしているが、入力フォーカスのみを取っていることを意味する新しいサブビューを「モーダル」にする考えです。 SDKに最も近いのはUIAlertViewです。
あなただけのUIViewアニメーション使用方法について
ありがとうございました。あなたはサブビューでその使い方の簡単な例を教えてください。 –
あなたはUIViewの移行を意味しますか?確かに、スーパーテストされていないものを振り、私の答えを編集します。 – danh
もう一度ありがとうございます。私の特定の状況では、あなたの上に押し込まれた答えが、その単純さのためにちょっとだけ助けになりました。私は両方の答えを正確にマークすることができたらいいですが、私はすぐにこれをupvoteすることを確認します。再度、感謝します。 –