jQueryでガントチャートの続きの続き

数週間ほど、jQueryから始まってCakePHP辺りまでをああでもないこうでもないといじくって遊んでいたら、ブログがすっかりご無沙汰になっておりました。

GitHubのアカウントを持っていないので、とりあえずブログにアップロードしておきました。おみやげにどうぞ。

jQuery.BookingsTimeline 2012-05-13

そろそろ、本家のものとは別物になりつつある…。

jQueryでガントチャート

HTMLに埋め込まれたデータをJavascriptで加工してガントチャートを表示しようと企んでみました。すでにオープンソースで色々と発表されているので、そこから一つをありがたく頂いて、激しくカスタマイズ。

うーむ。Javascript/jQueryに限らないですがこういう見た目コンポーネントを作ろうとしたときって、主眼をビューに置くかモデルに置くかですごく悩みます。

touchesMovedが呼ばれない

iOS 4.0のSDKで作ったプロジェクトをiOS 5.1のSDKへ移行してきたら、UIViewController の touchesMoved が1回しか呼び出されないとか、touchesEnded も呼ばれないとかの事象が発生。

作りとしては、UIScrollView の派生クラスで touchesBegan, touchesMoved, touchesEnded, touchesCancelled を定義して、それぞれのメソッド内でビューの処理を行ってから self.nextResponder が持っている同じ名前のメソッドを呼び出すことによって、UIViewController で続きのコントロールの処理をするようになっていたのですが、これがビュータッチ後のイベントがきちんとレスポンダチェーンを辿ってコントローラまで届いていないという状況のようです。

もしかしたらiOSの仕様が変わっちゃったのかも知れないけど、そんなのドキュメントのどこに書いてあるんだ…。

で。しようがないのでビューコントローラとの通信はレスポンダチェーンなんぞに頼らず、UIScrollView派生クラスに独自の@protocolとmyDelegateプロパティ(delegateは元々のUIScrollViewDelegateとぶつかってしまう)を追加して、呼び出している部分を

[self.nextResponder touchesBegan:touches withEvent:event];

から

[self.myDelegate touchesBegan:touches withEvent:event];

などとしてみました。動いた。よかった よかった。

Xcode 4.3.1とMacPorts

iOS方面で色々とアップデートしたら色々と起きたのでメモしておきます。

  1. Mac App Storeから Xcode 4.3.1 をダウンロードします。
  2. /Application/Install Xcodeを実行して、Xcode本体を/Application/にインストールします。
  3. インストール後、/Application/Xcodeを起動すると、Xcode 4.2がインストール済みであればそれらをゴミ箱に入れるかどうか表示されるのでゴミ箱へ移動しておきます。
  4. Xcodeのメニュー(Xcode→Preferences→Downloads→ComponentsまたはXcode→Open Developer Tool→More Developer Tools…)からCommand Line Toolsを追加でインストールします。
    (http://guide.macports.org/chunked/installing.xcode.html#installing.xcode.lion.43 を参照)
  5. ターミナルを開きます。
  6. sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer を実行します。
  7. xcodebuild -version を実行すると正しければ Xcode 4.3.1 Build version 4E1019 と表示されます。
  8. sudo port selfupdate を実行します。
  9. sudo port upgrade installed を実行します。
  10. 終わるまで他のことをやって暇つぶしします。

この後、emacs-appが23.4になっていたので前回と同じ手順でソースにインライン変換のパッチ適用して23.3から入れ替え。快適です。

でてこんけん

備忘録的に貼っておきます。

でんでら りゅうば
でてくる ばってん
でんでら れんけん
でて こんけん
こんこら れんけん
こられら れんけん
こん こん

という自分は出不精であった。