0

私はUILabelを持っています。その中のタッチエリアを光らせたい。つまり、その UILabel のポイントをクリックすると、タッチ ポイントの周りの小さな円形部分が光る効果で表示されます。どうやってこれを手に入れることができますか?

4

3 に答える 3

0

UILabels はタッチに反応しません。

カスタム タイプの UIButton を使用し、通常の状態と (光っている) 強調表示された状態の画像を提供します。

于 2011-10-15T04:49:14.043 に答える
0

CALayerグローを希望する方法に基づいてまたはを作成し、CAGradientLayerそれをラベルのレイヤーのタッチ位置にサブレイヤーとして追加することで、それを行うことができます。

touch on を有効にするには、プロパティUILabelを参照してください。userInteractionEnabledに設定する必要がありますYES

UITapGestureRecognizer次に、タップを取得するためにラベルにを添付する必要があります。タッチ位置を取得したら、カスタム グロー レイヤーをサブビューとしてラベルのレイヤーに非表示の状態で追加します。グローレイヤーを内外にアニメーション化します。完了時にグロー レイヤーをサブレイヤーとして削除する前に、数回繰り返すことをお勧めします。

于 2011-10-15T04:57:50.787 に答える
0

Gesture Recognizer は優れていますが、指が触れたときに開始し、指が触れなくなったときに停止し、その間に指を置いて動き回る何かを実行したい場合、そのための優れた Gesture Recognizer を考えるのは困難です。その場合は、touchesBegan、touchesMoved、および touchesEnded (touchesCancelled を忘れないでください) を使用する方がよいと思います。

これらのメソッドをView Controllerに配置するか、UILabelをサブクラス化できます。いずれにせよ、ラベルで userInteractionEnabled = YES を設定します。

その効果をグラフィカルに表現する方法については、現時点では巧妙なアイデアはありません。

于 2011-10-15T05:22:21.870 に答える