0
私は小さな翼や怒っている鳥のように私のアプリケーションにスクロールメニューを追加する方法が不思議でした。小さな翼では、背景が右から左に移動し、どのようにそれらを達成したのだろうと思っていました。前もって感謝します。アニメーション怒っている鳥や小さな翼のようなメニューで
私は小さな翼や怒っている鳥のように私のアプリケーションにスクロールメニューを追加する方法が不思議でした。小さな翼では、背景が右から左に移動し、どのようにそれらを達成したのだろうと思っていました。前もって感謝します。アニメーション怒っている鳥や小さな翼のようなメニューで
いずれのアプリ(ゲームLudite)にも精通していませんが、画面の幅を画面の幅より大きくすると、その位置/中心/フレーム/変換/などを移動できます。それを動かすために、あなたはその行動をアニメートすることもできます。
最後の320ポイントに等しいビューの幅の最初の320ポイント(ポイントではなくピクセルで測定)を作成すると、ビューの位置が最後に達したときにジャンプして永遠に進むことができます。
編集(例えば、コード):
- (void)animateBannerLocation {
UIView *view = _bannerView; // _bannerView.frame = CGRectMake(0,0,1000 ish,40);
CGRect startRect = view.frame;
CGRect destinationRect = view.frame;
// assuming superview is width of screen
destinationRect.origin.x = CGRectGetWidth(view.frame) - CGRectGetWidth(view.superview.frame);
[UIView animateWithDuration:6.0 // time in seconds
animations:^(void) {
view.frame = destinationRect;
} completion:^(BOOL finished) {
/** if you want it to scroll forever:
view.frame = startRect;
[self animateBannerLocation];
**/
}];
}
未試験
- (void)viewDidLoad {
[super viewDidLoad];
UIImageView *_bannerView; /// - an ivar
// not the best way to load an image you only use in one place:
UIImage *image = [UIImage imageNamed:@"SomeBigBannerImage1000x40ish.png"];
_bannerView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:_bannerView];
}
編集#3
コードを確認しました。コンパイラの警告に注意する必要があります。
- (void)animateBannerLocation {
UIView *view = _bannerView; // _bannerView.frame = CGRectMake(0,0,1000 ish,40);
CGRect startRect = view.frame;
CGRect destinationRect = view.frame;
// assuming superview is width of screen
destinationRect.origin.x = - (CGRectGetWidth(view.frame) - CGRectGetWidth(view.superview.frame));
[UIView animateWithDuration:6.0
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^(void) {
view.frame = destinationRect;
} completion:^(BOOL finished) {
view.frame = startRect;
if (stopAnimation == NO)
[self animateBannerLocation];
}];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self animateBannerLocation];
}
ビューを移動することをおすすめしますか?あなたが見ることができるサンプルコードまたはサイトを提供できますか?また、終わりに達した後、最初の320ピクセルに戻すようにビューを設定するにはどうすればよいですか? – MacN00b
私はこのコードは動作すると思いますが、修正する方法がわからないというエラーが1つあります。私は_bannerViewの代わりに何を置くべきですか?私はxibファイル内のビューを自動的に持つ通常のView Controllerを使用しています。だから私は_bannerViewの代わりに何を置くべきですか? ?すべての助けをありがとう、ごめんなさい、私は少しばかだと思います。 – MacN00b
私は仕事の第二の方法を得ました。しかし、画像はスクロールしていません。私は両方の方法を一緒に使うはずですか? – MacN00b