问题标签 [uiscreen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
281 浏览

ios - 屏幕外信息的安全性如何?

我的 iOS 应用程序有一个锁定屏幕,启用后会覆盖整个UIScreen. 但是,在UIScreen界限之外,我有一些窗格,其中包含锁定屏幕未覆盖的敏感信息。(屏幕解锁时,这些窗格可以滑入和滑出。)

拥有边界之外的信息有多安全UIScreen?攻击者能否使用某种外部显示器、调试器或其他机制来“揭示”UIScreen屏幕之外的内容?

【锁屏是WKWebView默认有“放大镜”功能的。我发现,当在 边缘触发时UIScreen,放大镜会显示UIScreen边缘后面的几个像素。我已经用这个答案禁用了放大镜。]

0 投票
3 回答
1480 浏览

objective-c - [UIScreen mainScreen].bounds 给出的值不正确

我正在 Xcode 6 中构建一个横向应用程序。当我在 iOS 8.3 模拟器上运行它时,[UIScreen mainScreen].bounds667x375,但是当我在 iPhone 6 iOS 8 上运行它时,[UIScreen mainScreen].bounds375x667。这给我的应用程序带来了问题,因为许多元素的大小都与屏幕边界一致。我知道[UIScreen mainScreen].bounds在 iOS 8 中发生了变化,但这不是问题。它应该667x375在设备和模拟器上。我会提供代码,但我不知道问题出在哪里。

0 投票
3 回答
138 浏览

ios - 方向锁定仅适用于 iPhone

UI为我的iOS应用程序设计了wAny hRegular设置。

现在orientationiPad. 但是当应用程序运行时iPhoneorientation会出现一个空白的白屏。

有什么方法可以让我只能锁定并且可以orientation使用iPhones方向iPad吗?

0 投票
2 回答
243 浏览

ios - 对于相同的 iPhone 5s,iOS 模拟器在 ios 7.1 和 ios 8.2 之间具有不同的屏幕高度

iOS 模拟器测试 iOS 7.1 和 iOS 8.2 环境有一个奇怪的问题。当我尝试获取 iPhone 5s 的屏幕尺寸时,结果有所不同。这是模拟器中的错误吗?或者这是 iOS 7 和 iOS 8 之间的区别?

非常感谢您的任何建议。

我的代码:

iPhone 5s (8.2) 模拟器打印结果:

屏幕边界:(0.0,0.0,320.0,568.0)


iPhone 5s (7.1) 模拟器打印结果:

屏幕边界:(0.0,0.0,320.0,480.0)

并且有上下黑带占据模拟器iOS 7.1屏幕。

0 投票
0 回答
41 浏览

ios - 在两个 UIWindows 之间共享数据

我的目标是为我的 iOS 应用程序提供一个 AirPlay 选项,该选项显示与 iPad 相同的内容(如镜子),只是稍微修改为电视的 16x9 纵横比。

我已经完成了所有初始设置,直到我有了第二个窗口并有机会设置它的根视图控制器。

我目前的策略是创建两个独立的视图控制器,一个用于 iPad,一个用于 TV,然后创建一些通道供它们进行通信。

这是解决这个问题的最有效方法吗?有没有更好的方法,也许这涉及我使用相同的视图控制器但使用不同UIView的 s?

0 投票
2 回答
588 浏览

ios - 获取 iOS 显示分辨率

为 480x960 像素分辨率的设备设计的应用程序在 480x1136 设备上执行。在 480x1136 设备上运行时,我需要能够检测到真实分辨率。不幸的是,我没有获得设备分辨率('480x1136'),而是获得了应用程序分辨率(== '480x960'),因此[[UIScreen mainScreen] bounds].size * [[UIScreen mainScreen] scale]返回'480x960'而不是预期'480x1136'

如何解决真实设备的物理分辨率?

0 投票
0 回答
1270 浏览

ios - iPhone 强制调整外屏分辨率

所讨论的应用程序必须允许用户选择一种所选显示器的可用屏幕模式。例如,外部显示器本身可能支持 1920x1080,但它的 EDID 也会显示支持的 1920x1200、1280x720 和 1024x768 分辨率。

默认情况下,将外部显示器连接到 iOS 设备似乎总是倾向于外部显示器支持的最高分辨率。我已允许用户从列表中选择UIScreenMode.availableModes以更改分辨率。一旦选择了模式并将其应用于它,externalScreen.currentMode它确实会出现正在考虑的新分辨率。

在测试中,我为外部显示器分配了一个全为红色的视图。将分辨率从例如 1920x1080 更改为 1024x768 后,红色框以 4:3 的纵横比显示在显示器上。做同样的事情,但对 1280x720 保持红色框 16:9 填充屏幕与 1080 大致相同。

但是,红色框包含两个带有 AutoLayout 约束的标签。当分辨率改变时,标签的 x/y 坐标相对于红色框保持不变。它们应该在红框中居中,但是当分辨率改变时它们似乎没有重新布局。此外,当分辨率下降时,标签的物理尺寸会变大,这表明它们在某种程度上受到分辨率变化的影响。

那么,红框的子视图(分配给 externalDisplay 的 UIView)如何在更改后更新UIScreenMode.currentMode

以下是正在发生的事情的简化版本:

当收到 screenModeDidChange 通知时调用它。

更新

在通知中添加以下响应screenModeDidChange似乎 - 有时 - 解决了问题。结果不一致,我不确定这是否是 iOS 9 测试版问题。

更新#2

虽然使用此处列出的方法似乎可以更改外部屏幕的分辨率,但它不会更改实际的输出分辨率。例如,如果 iOS 设备连接到显示首选 EDID 为 1920x1080 的显示器,则设备将默认使用此分辨率。使用前面提到的方法更改分辨率将更改呈现图像的分辨率,但输出分辨率保持 1920x1080。本质上,所发生的只是显示内容的分辨率降低,而实际输出分辨率保持不变。

0 投票
1 回答
834 浏览

objective-c - iOS9用自定义uiwindow覆盖状态栏 - 位置错误

我试图用我自己的视图覆盖状态栏,为此我通过执行类似的操作(也在旋转之后)为我的视图计算框架:

对于 iOS8+(因为 ios8UIScreen依赖于方向):

对于 iOS7:

它适用于 iOS8 及更低版本,但在使用 Xcode 7 beta 4 和 iOS 9 SDK 构建我的应用程序时,在横向或倒置启动应用程序时出现问题(如果应用程序以纵向启动,它工作正常)...

IE。当我在Upsidedown时启动应用程序时,应该覆盖状态栏的自定义uiwindow总是会出现在屏幕的底部,有什么想法可能有问题吗?

0 投票
1 回答
1248 浏览

ios - 如何在 iOS 中检测 UIImage 的颜色

我有这样的看法:

在此处输入图像描述

左后退按钮和右按钮基本上是两个UIButton具有特定不透明度的白色图像(设置在 中)。现在它在这张背景封面照片上看起来或多或少可见。

但是,如果我用其他东西更改背景封面照片,该封面图像的不透明度和颜色更接近两个按钮的图像,那么很难看到这两个按钮。

像这样:

在此处输入图像描述

所以我只是想知道,有什么方法可以检测封面图像的颜色,然后可以根据它更改这两个按钮的图像或颜色吗?

任何类型的参考或指导都是非常可观的。

0 投票
1 回答
26 浏览

swift - 快速放置一个相对于屏幕的对象

我想设置一个关于屏幕而不是视图的图像视图。我尝试过执行以下操作,但它不起作用。