ピンチ、パン、回転できるジェスチャを使用して、1 つのサンプル アプリケーションを開発しています。1 つのメイン イメージ ビューの幅と高さが 300 で、原点 x が 0 で y が 70 です。このイメージ ビューは、インターフェイス ビルダーから使用しています。この後、imageView の中央にプログラムで 1 つのラベルを追加しています。ラベルを追加した後、ビューでラベルをパン、ピンチ、回転できます。実際の要件は、ラベルをイメージビューの外にドラッグするときに、たとえば部分的なラベルを表示する必要があることです(私のラベルテキストはABCDXYZです)。Z を Z の外側にドラッグするとすぐに、Z が非表示になり、他の部分 ABCDXY が表示されるはずです。より明確なのは、あるビューを他のビュー内にドラッグすることです。どうすればこれを達成できますか。
2 に答える
あなたがしなければならないことは、を作成することUIView
です。その上にUIImageViewを追加します
[View addSubView:ImageView];
次に、UIImageViewにUIlabelを追加します
[ImageView addSubView:Label];
を設定しclipsToBounds = YES
ます。UIView
ラベルが内で移動し、ラベルが消えるとすぐに部分的に表示されるため、部分的なラベルの問題は解決されると思います。ご不明な点がございましたら、お申し付けください。ありがとう:)
これにハンドヘルドソリューションを提供するのは本当に難しいですが、代わりに提案になる可能性があります. テキストが動的であると仮定すると、UILabel
これを実現するために従うことができるシナリオがいくつかあります。
1) 内側のラベルに触れるUIImageView
と、正確なラベルが表示されますcoordinates
。
2) ユーザーが に触れた位置を取得しUILabel
ます。
3) タッチ座標を合計座標 と比較しUILabel
ます。
4) どのキャラクターがタッチしたかを仮定します。(テストを行う必要があります。また、テキストサイズも重要になる場合があります)。
5) ユーザーがその特定の文字 (たとえば ) をドラッグすると、テキストZ
からそれを削除する必要がありUILabel
ます。
それで全部です。あなたは終わった。