Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 滚动长列表时的模糊列表视图数据浏览器(OS X/Carbon)_Macos_User Interface_Macos Carbon - Fatal编程技术网

Macos 滚动长列表时的模糊列表视图数据浏览器(OS X/Carbon)

Macos 滚动长列表时的模糊列表视图数据浏览器(OS X/Carbon),macos,user-interface,macos-carbon,Macos,User Interface,Macos Carbon,我有一个碳应用程序与列表视图数据浏览器和垂直滚动。当列表很长(数百个项目)时,快速滚动窗口会产生模糊的、有时是“模糊”的文本: 还可能出现其他瑕疵,例如剪裁或重叠的线。有时,整个内容只是一个漩涡状的污点。单击任何项目都会导致ListView内容的正常重新绘制。以下是Interface Builder查看ListView的方式: 我正在使用Xcode 3.2.6构建MacOSX10.5.sdk。建造和测试符合10.6的规定。我不会对滚动事件进行任何特殊处理。我只为itemDataCallbac

我有一个碳应用程序与列表视图数据浏览器和垂直滚动。当列表很长(数百个项目)时,快速滚动窗口会产生模糊的、有时是“模糊”的文本:

还可能出现其他瑕疵,例如剪裁或重叠的线。有时,整个内容只是一个漩涡状的污点。单击任何项目都会导致ListView内容的正常重新绘制。以下是Interface Builder查看ListView的方式:

我正在使用Xcode 3.2.6构建MacOSX10.5.sdk。建造和测试符合10.6的规定。我不会对滚动事件进行任何特殊处理。我只为
itemDataCallback
itemNotificationCallback
itemcarbecallback
定义了
DataBrowserCallbacks


我的问题是:这可能是什么原因造成的?

我找到了答案,下面是给子孙后代的答案:

事实证明,当列表视图数据浏览器位于非整数水平偏移处时,问题始终且仅会发生

HIViewSetFrame()
接受一个
HIRect
参数,该参数使用
float
类型作为
origin
size
。如果调整父帧的大小,使浏览器的原点位于非整数
origin.x
,则会触发图形错误。垂直偏移或尺寸标注是否为非整数并不重要

解决方案是确保在调整窗口大小时移动的浏览器的x值四舍五入:

frame.origin.x = roundf(frame.origin.x);
任何其他控件似乎都没有与非整数原点相关的任何问题