C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 设置QuickLook插件的窗口大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个QuickLook@L_674_1@.我想改变当用户点击空格键时弹出的窗口的宽度.

我已经读过项目的info.plist文件中有两个键可以自定义高度和宽度.即使我更改了这些值,我也无法将预览窗口的大小调整为所需的值.

我不知道还有什么可以尝试的.任何的想法?

谢谢!

解决方法

以为我会对此有所了解.我没有尝试过以下任何建议,所以没有人会抱有希望.我假设您正在使用生成器回调:
OSStatus (*GeneratePreviewForURL)(
    void *thisInterface,QLPreviewrequestRef preview,CFURLRef url,CFStringRef contentTypeUTI,CFDictionaryRef options
);

在其他任何事情之前,您可以手动检查选项字典参数并验证kQLPreviewPropertyWidthKey和kQLPreviewPropertyHeightKey键确实映射到所需的CFnumber值.

这些属性中的每一个,Apple QuickLook编程指南说:

(编辑:如果你的预览表示是灵活的,你可能会尝试找到一个预览类型,QuickLook会根据上面的声明来表示你的尺寸提示.只是想一想.)

在QuickLook框架二进制文件上运行nm会显示一些未记录的kQLPreviewProperty–常量以及前面提到的宽度和高度键.引起我注意的是kQLPreviewPropertyAutoSizeKey.回顾Apple关于忽略自动设置大小的提示的声明,这可能很重要吗?遵循QuickLook.framework / Headers / QLBase.h中的约定,您可以尝试声明

extern const cFStringRef kQLPreviewPropertyAutoSizeKey;

然后,您可以尝试将CFnumber 0与选项字典中的属性键相关联.还有其他未记录的密钥,例如kQLPreviewPropertyAttributesKey.

回到你提到的Info.plist,Apple says关于那些键QLPreviewWidth和QLPreviewHeight:

这是有人提出在您的生成器中调用sleep()的可怕建议.但我很困惑为什么Apple会根据生成器延迟来跟踪大小提示. (?)

编辑:还要注意上面的语句说Info.plist提示必须以点(而不是像素)表示,unit取决于用户的屏幕分辨率.

大佬总结

以上是大佬教程为你收集整理的objective-c – 设置QuickLook插件的窗口大小全部内容,希望文章能够帮你解决objective-c – 设置QuickLook插件的窗口大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。