Wri*_*sCS 31 macos cocoa resolution screen
我可以使用以下命令返回屏幕尺寸:
- (void) getScreenResolution {
NSArray *screenArray = [NSScreen screens];
NSScreen *mainScreen = [NSScreen mainScreen];
unsigned screenCount = [screenArray count];
unsigned index = 0;
for (index; index < screenCount; index++)
{
NSScreen *screen = [screenArray objectAtIndex: index];
NSRect screenRect = [screen visibleFrame];
NSString *mString = ((mainScreen == screen) ? @"Main" : @"not-main");
NSLog(@"Screen #%d (%@) Frame: %@", index, mString, NSStringFromRect(screenRect));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
屏幕#0(主要)框架:{{0,4},{1344,814}}
有没有一种方法格式化{1344, 814}
来1344x814
?
这非常有效:
- (NSString*) screenResolution {
NSRect screenRect;
NSArray *screenArray = [NSScreen screens];
unsigned screenCount = [screenArray count];
unsigned index = 0;
for (index; index < screenCount; index++)
{
NSScreen *screen = [screenArray objectAtIndex: index];
screenRect = [screen visibleFrame];
}
return [NSString stringWithFormat:@"%.1fx%.1f",screenRect.size.width, screenRect.size.height];
}
Run Code Online (Sandbox Code Playgroud)
mam*_*ady 19
在Mac OS中查找屏幕大小非常简单:
NSRect e = [[NSScreen mainScreen] frame];
H = (int)e.size.height;
W = (int)e.size.width;
Run Code Online (Sandbox Code Playgroud)
j.s*_*com 15
在Swift 4.0中,您可以获得主屏幕的屏幕大小:
if let screen = NSScreen.main {
let rect = screen.frame
let height = rect.size.height
let width = rect.size.width
}
Run Code Online (Sandbox Code Playgroud)
如果您使用特定的现有窗口查找屏幕大小,您可以使用:
var window: NSWindow = ... //The Window laying on the desired screen
var screen = window.screen!
var rect = screen.frame
var height = rect.size.height
var width = rect.size.width
Run Code Online (Sandbox Code Playgroud)
GWW*_*GWW 12
NSLog(@"%fx%f",screenRect.size.width, screenRect.size.height);
编辑/更新
斯威夫特4
NSScreen.main?.frame // {x 0 y 0 w 1,920 h 1,200}
NSScreen.main?.frame.width // 1,920.0
NSScreen.main?.frame.height // 1,200.0
Run Code Online (Sandbox Code Playgroud)
斯威夫特3.x
NSScreen.main()?.frame // {x 0 y 0 w 1,920 h 1,200}
NSScreen.main()?.frame.width // 1,920.0
NSScreen.main()?.frame.height // 1,200.0
Run Code Online (Sandbox Code Playgroud)
斯威夫特2.x
NSScreen.mainScreen()?.frame // {x 0 y 0 w 1,920 h 1,200}
NSScreen.mainScreen()?.frame.width // 1,920.0
NSScreen.mainScreen()?.frame.height // 1,200.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32562 次 |
最近记录: |