0

私は iOS は初めてですが、C++ の経験は豊富です。私は gamecenter で使用する予定の楽しい小さなゲームに取り組んでいますが、今は GUI をセットアップしようとしています。これが私が作成したいものの写真です: ここに画像の説明を入力

基本的に、プレイヤーは画面の下部でスワイプできる約 7 枚のカードを持っています。慣性スクロールだけでなく、一度に 1 枚のカードにスナップして、カードをタップして再生できるようにしたい. これは実行可能だと思いますか?ところで、私は現在、PNG/Vector バックとして保存されているカスタム カードを持っており、その上にカスタム テキストを配置してカードを生成しています。カスタム背景でテンプレート化され、文字列、指定されたテキスト サイズ、およびフォントから生成されたカスタム scrollview オブジェクトを iOS で作成することは可能ですか? (サイズ 48 ヘルベチカ)

ありがとう!

4

2 に答える 2

1

カードを保持する UICollectionView でこれにアプローチし、ジェスチャー用のジェスチャー認識機能を実装するだけだと思います。「スナップ先」を処理するコードは次のとおりです。

UICollectionView でスクロールを停止する

画面の上部は、同じビュー コントローラー内の別のビューになるため、VC にジェスチャ レコグナイザーを実装して、パン (スライド用) とタップを処理します。

これは非常に簡単に実行できます。コレクション ビューでは通常、1 回のタップでセルの選択を示す必要があります。タップされたセルの選択を使用しないようにするには、コレクション ビューでの選択を無効にする必要があります。

于 2013-04-07T02:50:26.273 に答える
0

質問の 2 番目の部分については、ベジエ パス イメージングを処理する CAShapeLayer をご覧になることをお勧めします。ベース レイヤー クラスの CALayer には、角丸の半径を設定するためのプロパティもあり、カードにうまくフィットします。

iOS では、コア アニメーション レイヤーはビューに入るイメージ コンポーネントであり、直接使用および操作できますが、イベント処理はフル ビューを介して提供されます。UIViews でカスタム CALayer クラスを使用するには、layerClass メソッドをオーバーライドして、ビューで使用する CALayer のクラスを返します。レイヤーは、ビュー内でネストおよび/またはスタックできるため、たとえば、1 つのビュー内で、内容が PNG 画像に設定されている CALayer の上にある CAShapeLayer の上に CATextLayer をスタックできます。ただし、CATextLayer がカードに必要なレイアウト コントロールを提供するとは思えないため、形状レイヤーでグリフをレンダリングすることになるでしょう。

Core Animation Programming Guide は読む価値があります。

于 2013-04-07T05:42:03.697 に答える