2012-01-25 3 views
1

リストビューのデータブラウザと垂直スクロール機能を備えたカーボンアプリケーションがあります。リストは、(項目の数百)長いときは窓からの迅速なスクロールがぼやけ、時々「不鮮明」のテキストを生成し、:長いリスト(OS X/Carbon)をスクロールすると、ぼんやりしたリストビューのデータブラウザ

Screen shot of ListView

他のアーティファクトはまた、このようなクリッピングまたは重複線として、発生する可能性があります。場合によっては内容全体が渦のような汚れにすぎない場合もあります。任意の項目をクリックすると、ListViewの内容が正常に再描画されます。ここでInterface Builderのは、リストビューを見てどのようである:

enter image description here

私はXcodeの3.2.6を使用してMacOSX10.5.sdkに対して構築しています。ビルドとテストは10.6未満です。私はスクロールイベントの特別な処理をしていません。私はitemDataCallbackitemNotificationCallback、およびitemCompareCallbackについてはDataBrowserCallbacksと定義しました。

私の質問は次のとおりです。

答えて

2

私はここで、それを考え出したが、後世のための答えです:

これは、リストビューデータブラウザは水平オフセット非整数に位置しているときに問題がいつもとのみ発生することが判明しました。

HIViewSetFrame()originsizeためfloatタイプを使用していますHIRect引数を取ります。ブラウザーの起点が非整数origin.xになるように親フレームのサイズを変更すると、グラフィックエラーが発生します。垂直オフセットまたはいずれかのサイズのディメンションが非整数であるかどうかは関係ありません。

frame.origin.x = roundf(frame.origin.x); 

を任意の他のコントロールは、非整数の起源に問題があることを表示されない:

溶液は、ウィンドウがサイズを変更するときに移動しているブラウザが、それらのx値は、四捨五入していることを保証することです。

関連する問題