SLOT-MACHINEアプリの他の方法はありますか?これは、UIPICKERメソッドにアニメーション効果が遅いためです。UIPickerの代替
答えて
CALayer
アニメーションを使用してこれを行うことができます。
サブレイヤの3D変換を可能にするには、メインのslotMachineViewレイヤのクラスをCATransformLayer
にする必要があります。
リールのシンボルを表す正方形の画像が10枚あるとします。画像ごとにCALayer
を作成してください。誰のコンテンツプロパティが自分の画像の1つです。これはあなた」(翻訳し
- まずあなたが各レイヤーを回転させる必要があります(2 * PI)/ 10ある程度の距離を:次に、それぞれの層に、あなたは2つの変換を適用する必要があります計算する必要があります) に沿ってZ軸。
これらのレイヤーをビューのレイヤーに追加します。 X軸の周りに画像の「円筒」が現れるはずです。
円柱を回転させるには、最初の変換をCAAnimation
で調整するか、タイマーを使用し、タイマーが発生するオフセットでX軸の回転を調整する必要があります。
私は完全な実装の詳細を把握するためにあなたにそれを残しておきます - しかし、ここでそれを回転させるには、最初の「リール」
int imageCount = 16;
for (int i = 0; i < imageCount; i++) {
// Load image from the bundle
NSString * fileName = [NSString stringWithFormat: @"Image-%d", i];
NSString * filePath = [[NSBundle mainBundle] pathForResource: fileName ofType: @"jpeg"];
UIImage * image = [UIImage imageWithContentsOfFile: filePath];
// Create a layer with the image as content - My image size was 60x60
CALayer * imageLayer = [CALayer layer];
imageLayer.bounds = (CGRect){CGPointZero, {60.0, 60.0}};
imageLayer.contents = (id)image.CGImage;
imageLayer.position = (CGPoint){CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds)};
// Set the initial image transform - I've hardcoded the translate along the
// z-axis to 150, but this will vary depending on the number of images
// and their size - you'll need to do some maths to work it out... sines or
// cosines or somesuch
CGFloat angle = (2.0 * M_PI)/imageCount * i;
CATransform3D transform = CATransform3DMakeRotation(angle, 1.0, 0.0, 0.0);
transform = CATransform3DTranslate(transform, 0.0, 0.0, 150.0);
imageLayer.transform = transform;
[self.layers addObject: imageLayer];
[self.view.layer addSublayer: imageLayer];
}
}
をロードし、作成するために、いくつかのコードです、あなたがする必要があるすべては、変更あり変換の回転部分。余分なクレジットを得るには、レイヤーが中心から離れていくにつれて、レイヤーに影を付けることができます。
NSArray/NSMutable配列にイメージを配置し、レイヤーを変換しますか? –
良いアイデア。 UIPickerViewは、外側のグラフィックと組み合わせて、ホイールの幻影を与えるために、上下にシャドーグラデーションを持つように見えます。車輪の数字/テキストは変換されません。 – bandejapaisa
@bandejapaisaどうすればいいですか?カリグラフィー? –
数字/記号ごとにUIImageView
を使用し、表示される画像の動きをアニメーション表示できます。 UIPicker
を使用すると、文字と数字に限ります。 UIImageView
で、サクランボなどの他の典型的なスロットマシンビジュアルを追加することができます。
どのようにスピン効果を適用できますか? –
@Kobe Core Animationを適用するなど、自分で実装する必要があります。これはおそらくこの課題の全体的なポイントです。 – dasblinkenlight
UIImageViewの画像はどこに保存できますか? –
私たちはあなたの宿題をしていますか?
垂直UIScrollViewsを並べて使用し、ページングを有効にし、ビュー用にUIImageViewsを使用します。
デフォルトではフラットに見えますが、機能的には同等です。
UIPickerViewのように見えるようにするには、少しコア・アニメーション/コア・グラフィックスが必要です。
はい、自動的にスクロールするにはUIScrollViewのメソッドを呼び出すことができます。 – bandejapaisa
UIImageViewsにNSArray/NSMutable配列を使用できますか?私はイメージを保存できますか? –
はい、配列を使用できます。 – bandejapaisa
- 1. python re - 代替代替パターン
- 2. ajaxリフレッシュの代替コンポーネント代替
- 3. のNoSQL FREE代替(代替ravendbする)
- 4. UIPickerの高さ
- 5. 代替
- 6. 代替
- 7. 代替
- 8. 代替
- 9. 代替
- 10. 代替
- 11. 代替()
- 12. 代替
- 13. 代替
- 14. 代替
- 15. 代替
- 16. 代替
- 17. 代替
- 18. 代替
- 19. 代替
- 20. 代替
- 21. 代替
- 22. 代替
- 23. 代替
- 24. ストアドプロシージャの代替
- 25. SlickUploadの代替
- 26. Math.round()の代替
- 27. Evalの代替
- 28. levenshteinの代替
- 29. NewMailExの代替
- 30. Pythonの代替
私はTableViewを提案しています。すべてのデータをピッカーの代わりに読み込み、いずれかを選択することができます。 – Hemang
?スピンアクションを適用できますか? –
@Kobeスピンアクションは必要ありません。 UITableViewでは、水平スクロールが有効になっています。だからあなたは何の制限もなくそれを使うことができます。 –