当前位置:  开发笔记 > IOS > 正文

在什么情况下[[NSScreen mainScreen] visibleFrame]会返回null?

如何解决《在什么情况下[[NSScreenmainScreen]visibleFrame]会返回null?》经验,为你挑选了1个好方法。

我想获得主屏幕的尺寸,所以我使用这个片段:

NSLog(@"mainScreen frame = %@", [[NSScreen mainScreen] visibleFrame]);

这是打印

mainScreen frame = (null)

之前它是打印我的主显示器的预期尺寸.

这有什么可能的原因?



1> danielpunkas..:

这里的问题是你正在遇到Objective-C Cocoa编程中相对较少的非对象之一.

"visibleFrame"的结果是NSRect 结构,而不是对象.要使它在NSLog行中有意义地显示,您必须执行以下操作:

NSString* frameAsString = NSStringFromRect([[NSScreen mainScreen] visibleFrame]);
NSLog(@"mainScreen frame = %@", frameAsString);

有许多辅助函数可以将许多这些结构对象转换为字符串并返回,例如NSStringFromPoint,NSStringFromRange等.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有