Top Support Tips – 2014年5月
こんにちは、ゼノフィnakamuraです。
可変高のグリッド行
by Seth Lemmons
グリッド行は通常はグリッド全体で同じ高さを保ちます。しかし、グリッドセルに表示させるために提供するデータによっては、この通りでない方がいいこともあります。ほとんどの状況において、グリッドはその内容を表示できる様に自動的に高さを調整します。それはロッキング (列固定) グリッド (実は二つのシンクされたグリッドで作成されている) においてでも同じです。 その一方、bufferedrenderer プラグインを利用すると、行の高さはロッキンググリッドでは同期されなくなってしまいます。ただそれには回避策があります。
bufferedrenderer プラグインが付いたロッキンググリッドで生成された場合、行の高さは、ロックされた部分のグリッドと通常のグリッドの間で自動的に同期されません。 これは行の高さの計算にかかるオーバーヘッドのためです。 そのため、プラグインの variableRowHeight コンフィグはデフォルトで false になっています。 通常のグリッド行の高さにデータが綺麗に入らない場合には、variableRowHeight を true にセットできます。 そうすると、ロックされたグリッドと通常のグリッドにまたがる行は再び正しく揃うようになります。
variableRowHeight の動作例を ここ でご覧になれます。 また、詳しくは公式ドキュメントの variableRowHeight をご覧ください。
やる気のないリスト?(Listless Lists?)
by Greg Barry
listless最近 Sencha Touch 2.2+ にアプリケーションをアップデートしましたか? もしアップデートしたら、リストの読み込みが遅くなりました? 良い報告があります。以前の Sencha Touch のバージョンはリストの infinite は true にセットされていました。しかし、 Sencha Touch 最近バージョンではデフォルトで false にセットされています。
ということで、リストで infinite:true をセットしてない場合は、Sencha Touch 2.2+ ではデフォルトで false になります。その結果、リストのレンダリングが遅くなります。遅さの原因は全てのリストの項目を同時にレンダリングしようとしているからです。想像できると思いますが、これは読み込む時間が長くなります。infinite を true にセットするだけで、リストがより小さい部分だけレンダリングされるようになり、リストが元の状況に戻ります。
infinite コンフィグ について詳しくは、公式ドキュメントをご覧ください。