0

iPhone の通知センターのように、ViewController 内のビューをアニメーション化したいと考えています。

これを行うには、x、y、および/または高さの値を使用してサブビューをどのように拡張しますか? 3.5インチ画面と4インチ画面の両方に対応させたいので、具体的な値は使わないほうがいいです。

4

2 に答える 2

0

私は自分のプロジェクトでこれをテストし、さまざまな画面サイズで動作することを確認しました.

UIView *slidingview = [[UIView alloc] initWithFrame:CGRectOffset(self.view.frame, 0, -self.view.frame.size.height)];
slidingview.backgroundColor = [UIColor whiteColor];
[self.view addSubview:slidingview];
[UIView animateWithDuration:1 animations:^{
    slidingview.center = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2);
}];

これを実装するには、slidingview下にスライドさせたいビューに置き換えるだけです。ただし、私が提供したフレームを使用して独自のビューを宣言する必要があります。

于 2012-10-07T20:25:57.077 に答える
0

このようなものはどうですか?

CGRect currentFrame = self.view.bounds;
UIView * slidingView = [UIView alloc] initWithFrame:(CGRect){currentFrame.origin, currentFrame.size.width, 0};
[self.view addSubview:slidingView];
[UIView animateWithDuration:0.5f animations:^{
    slidingView.frame = currentFrame;
}];

アニメーションを有効にするにdelayは、 のバージョンを使用する必要がある場合があります。animateWithDuration...

于 2012-10-07T21:40:26.757 に答える