2009年10月22日木曜日

UIPickerView のドラムを止めるイディオム


[picker selectRow:[picker selectedRowInComponent:n] inComponent:n animated:No];

UIPickerView はドラム式の選択肢インプットを自動で作ってくれる便利な UIKit コンポーネントだけど、ちょっと困るのが、勝手にドラムの慣性を処理してくれているせいで、値の選択に微妙なタイムラグがあるのが、ちょっと面倒。(ユーザー視点で言えば、それが気持ちいい訳だけど、・・・)たとえば、ドラムを目一杯勢いを付けた状態で、即決定ボタンにタッチみたいな操作をされると、picker から取得した値と picker の状態に齟齬が生じて、思わぬバグが混入したりする可能性がある。(しかも、そういう操作のテストが面倒。)そういうバグを防ぐ為に、picker の値を取得する際に、強制的に picker を止める上のイディオムが結構有効だと思う。

0 件のコメント:

コメントを投稿