日々学んだことを残しておこう。きっと未来の自分が探しにくる。 (ただ忘れっぽいだけです…)

Flex scaleX直後のhorizontalScrollPositionが反映しない


Flexで地図画像をマウスホイールでグリグリ拡大・縮小させて、ドラッグ&ドロップで移動するものを作った。

仕組みはHBoxの中にImage入れて、マウスイベントに合わせてscaleX、scaleYを変更して拡大・縮小させる。

(参考サイト)
指定した点が中心にくるようにスクロール

移動は最初と最後のマウス位置の差をhorizontalScrollPositionとverticalScrollPositionに減算させていく。これで、PDFビューアのような動きが実装できる。

(参考サイト)
[Flex][ActionScript]PDFビューアのようにマウスドラッグでスクロールする方法


それぞれの機能をテストしても問題なかったんだけど、拡大した直後にhorizontalScrollPositionに値を指定しても、反映されていない・・・

こちらが設定したいhorizontalScrollPositionが違う値になっているので、拡大する中心位置がずれてかっこ良くない。

かなり調べた結果、こんな記事に。
Labelコントロールのtextを変更した直後にコントロールのサイズを取得しようとしたところ、変更する前のサイズしか取得することができない問題と。

実装しようとすることは違うけど、何か同じにおいがするな~
で、解決方法はvalidateNow()を使用すべしと。

validateNow()した後にhorizontalScrollPositionをセットするとOKでした。
ふ~ん。
また一つ勉強になった。

(参考サイト)
Flex備忘録:validateNow()を使う
関連記事

2012-01-07 : Flex : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

広告

読みたいと思っている書籍

Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく Amazon Web Services 定番業務システム12パターン 設計ガイド イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書) イラストで学ぶ ディープラーニング (KS情報科学専門書)

カウンタ

メールフォーム

名前:
メール:
件名:
本文:

GoogleTranslate

管理人のつぶやき

人気記事ランキング

カテゴリ

openclose

ブログ内検索

全記事表示リンク

全ての記事を表示する

ブログパーツ