5

在系统偏好设置 -> OS X 上的显示中,可以设置连接屏幕的旋转。

无论如何我可以以编程方式设置这个值吗?

我可以使用 CGDisplayRotation 获取当前设置。我似乎能够在一个简单的事务中设置许多屏幕属性,例如分辨率:

CGDisplayConfigRef config;
CGError error = CGBeginDisplayConfiguration(&config);
...
error = CGCompleteDisplayConfiguration(config, kCGConfigurePermanently);

...但无论如何我都找不到设置这个特定属性。

有谁知道这样做的方法?

4

1 回答 1

3

这可以通过未记录的方式完成。示例将显示方向设置为 90 度:

CGDirectDisplayID display = CGMainDisplayID();
io_service_t service = CGDisplayIOServicePort(display);
IOOptionBits options = (0x00000400 | (kIOScaleRotate90)  << 16);
IOServiceRequestProbe(service, options);

常量在 IOKit.framework IOGraphicsTypes.h 中定义

于 2014-03-18T10:50:54.380 回答