0

複数のビューに追加できるカスタムの再利用可能な UIScrollView を構築しようとしています。スクロール ビューはウェイト ピッカーになります。私の人生では、これをきちんとまたはきれいに実装する方法の適切な例を見つけることができません。

これを行う方法を示す既存のライブラリまたはチュートリアルを誰かに教えてもらいたいです。いくつかの例をハッキングしましたが、これまでのところ、非常に優れたものや再利用可能なものはありません。助けてください!!

価値があるのは、個人が体重を刻むイメージがあります。したがって、数字の 10 分の 1 まで選択できます (例: 160.4)。画像には最初の目盛りが太字で、残りの 9 より大きい目盛りがあります。重み/数値を大きな目盛りの中央に配置したいと思います。スクロールが停止したら、ポイントをラベル/データソースに更新します。

更新 これを作成する必要があります。カスタム フォント、背景、ティッカー イメージがあります。

ウェイトピッカー

4

2 に答える 2

2

私は . を通じてこれを行いませんUIScrollView。もっと複雑になり、カスタム ピッカーを別のスクロール ビューに追加しようとすると問題が発生することは確かです。

私がすることは次のとおりです。

  1. 一連の CALayer を使用してピッカー ビューを構築します。それぞれがピッカー ビューの「ビルディング ブロック」を表します。添付の画像を参照してください:

    ここに画像の説明を入力

  2. 各ビルディング ブロックは、UILabel (テキスト) と画像を組み合わせて特定の値を表します。

  3. パン ジェスチャ レコグナイザーを使用するか、代わりtouchesBegin/Moved/Endedにパンを処理するメソッドを定義します。

  4. パンが完了すると、パンに従ってビューのコンテンツを左または右に移動します。

  5. パンするときは、ピッカーの左端または右端に新しいビルディング ブロックも追加して、ポイント 4 で行われた変位によって明らかになる空の領域を考慮します。

別の種類のカスタム コントロールのソース コードを確認することは、非常に役立つと思います。カスタム ピッカーが既に実装されているとは限りませんが、ガイダンスを得ることができます。次に、ココア コントロールを見てください。

お役に立てれば。

于 2012-07-25T21:59:26.910 に答える
1

これを実装する場合は、必要なすべての重みを備えた非常に幅の広い画像を作成します。おそらく、アプリの起動時にコードで作成します。この画像は、ピッカーの contentView として使用されます。すべてのスクロール機能を「無料」で利用でき、スクロール (またはドラッグ) 中にビューの他の部分に表示される値を更新することもできます。

scrollView は、目盛りと重みの数値が表示された単なる領域であり、背景の上のサブビューにありますが、実際の重みを示す中央の垂直線の下にあります。

編集:考え直して、画像を忘れてください。画像を描画するコードがある場合は、カスタム UIView で描画できます。draw rect を取得し、contentOffset を知っているので、必要なものだけを描画できます。

于 2012-07-25T22:07:00.293 に答える