2017-11-15 10 views
0

私の小さな時計アプリでは(watchOS3 +をターゲットにする)、サーバーから取り出す画像を表示する必要があります(それは大きくない、600x600と言う)。 画像はモーダルページに単独で表示されます(閉じるボタンは左上隅にあります) 写真アプリと同様に、画像をパンしたりズームしたりすることができます。 デジタルクラウンを使用してズームが行われます(イベントは既に配線されています)。WatchOS:パニングとズームの画像

どのようにパンとズームに対処するのでしょうか?誰もこれのようなものをすでに実装していましたか?

ありがとうございます!

+0

フム、私はWKInterfaceImageの使用を停止し、CoreGraphicsにフォールバックします...私はアイデアを自分で持っていると思います。 私は結果が出たらすぐにポストバックし、多分誰かを助けるでしょう.... – ThumbGen

答えて

0

小さなトリックを実装することで問題を解決しました(添付の画像を参照)。 基本的に、ズーム(デジタルクラウン)はキャッシュされたUIImage上で「バックグラウンドで」起こり、ビューポート(表示サイズと同じ大きさ)はUIImageから領域を切り出し、WKInterfaceImageを介して表示します。 パンニングは、TapGestureRecognizerのデータに従って、ビューポートを動かすだけです。

私はこれをカスタムコントロールにカプセル化し、GitHubに配置すると思います。 (デジタルクラウンイベント以下)の画像自分をスケーリングし、WKPanGestureRecognizerに登録することにより、パン:

enter image description here

関連する問題