问题标签 [ipados]

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 投票
0 回答
123 浏览

ios - 具有清晰背景的模态演示在 iPad 上围绕 View 创建 Box - 问题 iOS 13

我正在使用能够拉下 VC 的模态演示。但是 VC 背景颜色很清晰,所以只有一半的屏幕上有 VC。iPhone 上的一切都很完美,但是当我在 iPad 上运行它或使用 Mac Catalyst 时,它会执行您在下面看到的操作。ViewController 的视图周围有这个框。边缘上的透明背景是否也可以通过 View Controller 后面,所以它没有这个框?匹配VC的背景颜色不起作用,因为随着用户下拉,透明度逐渐改变。

在下图中,您可以看到视图控制器的轮廓。我想知道如何删除该轮廓并使其透明以匹配视图控制器周围的区域。

我正在使用过渡样式:Cover Vertical 和 Presentation:Page sheet。

在此处输入图像描述

0 投票
0 回答
48 浏览

ios - iOS 屏幕键盘:假设存在硬件键盘,我该如何防止它出现?

我正在为专业的最终用户维护一个传统的 iPad 应用程序。它有一个 UITextField 来接受纯 ASCII 字符串。所有用户都有物理蓝牙键盘,根本不想看到(侵入式)屏幕键盘。我该如何压制它?

控制是否/何时出现屏幕键盘的规则很复杂,并且除非准备好接受 [UITextField] 默认行为,否则难以编写代码。用户不是。2010 年之前,原始编码器编写了一个繁琐的解决方案。如果它曾经奏效,iOS 已经改变以打破它。我欢迎一种强大的 Objective-C 技术,该技术在未来 10 年内不太可能被打破,足够简单,让下一个编码人员能够理解 - 并删除。

我看到几个类似我的问题的答案。大多数都是旧的,而且许多已经被报告坏了。我的问题不是如何检测物理键盘或屏幕键盘的可见性。用户希望设置开关完全抑制屏幕键盘,但仍响应物理键盘。在 viewDidLoad 中一次性检查的 UISwitch 就足够了。会话中可切换的选项会更好。

如何编写最简单的此类选项?

0 投票
1 回答
604 浏览

ios - 为什么默认的 UIWindowSceneDelegate 类继承自 UIResponder?

在 iOS 13 中,UIWindowSceneDelegate对象不在响应者链中(我通过打印响应者链来验证这一点)。但是 Xcode 提供的模板代码使场景委托类继承自UIResponder. 如果我让场景委托类继承自NSObject,代码仍然可以编译并运行没有问题。

那么让场景委托类符合的意义UIResponder何在?

0 投票
0 回答
392 浏览

ios - 当用户在切换器中关闭窗口时未调用sceneDidDisconnect(_:)

我在苹果的Supporting Multiple Windows on iPad示例代码中添加sceneDidDisconnect(_:)了委托方法(可以在 Xcode 文档窗口中下载)。但是当我运行应用程序并打开多个窗口时,关闭任何窗口时都不会调用此方法。我应该做点别的吗?SceneDelegate

0 投票
0 回答
109 浏览

ios - iPadOS 键盘 CMD+Z 调用 UndoManager 的撤消选择器两次?

我遇到的问题UndoManager可能是 iPadOS 错误,但也可能是我的错误。

我有一个简单的测试应用程序。一个按钮执行一个操作,它将 int 增加 1 并向系统注册一个 undo UndoManager。另一个按钮手动调用undoManager.undo(),它撤消最后一个操作,直到撤消堆栈上没有更多操作。并且整个应用程序是系统的第一响应者,因此点击也应该触发 undoManager每按 CMD+ZCMD+Z调用一次。undo()

这是一些代码。

允许成为第一响应者的 UIHostingController 子类:

SceneDelegate,我传入系统撤消管理器的地方:

还有我的 SwiftUI 视图和相关模型:

例如,如果我点击“注册操作”两次,然后点击“手动撤消”三次,输出就是我所期望的 - 状态增加了两次,然后减少了两次,最后一个 undo() 什么也不做,因为撤消堆栈为空:

但是,如果我点击“注册操作”两次,然后点击CMD+ZiPad 键盘,我希望状态会增加两次,并且只减少一次,一次调用performUndo,但performUndo仍然被调用两次:

我是否以某种方式错误地使用了系统 UndoManager,或者这是一个错误?

更新:以上内容适用于 Xcode 11.3.1 和 iPadOS 13.3。使用最新的 Xcode 11.4 beta 2 和 iPadOS 13.4 beta 2,不再发生双重撤销。似乎固定!

0 投票
1 回答
76 浏览

arrays - 在循环条件取决于字符串数组大小的 for 循环中从字符串数组中删除元素

我有一个字符串数组,我想根据 indexPath 数组中的值删除元素,该数组是从表格行上的 2 指平移手势生成的。循环重复次数取决于字符串数组的大小,每次循环都会删除相关的字符串数组元素。

下面的代码:

当我要求应用程序删除(按删除按钮)字符串数组的所有元素时,它会删除除一个元素之外的所有元素。我试过以不同的顺序排列字符串数组元素,它似乎不是特定于字符串元素值的,如果它是一个 3 元素数组,它总是中间元素。

我怀疑从数组中删除元素(其原始大小定义了所需的循环数)会导致第二个 for 循环出现问题。

一些调试控制台输出:

如您所见,第二组 if 条件失败,并且字符串数组的最后一个元素永远不会被删除。然后程序退出所有 for 循环并调用包含最终调试打印语句的方法。

0 投票
0 回答
176 浏览

ios - iPadOS/iOS 13.4 企业应用程序崩溃

我注意到更新到 iPadOS 13.4 后我的企业应用程序崩溃(例如配置文件过期时,但它们是最新的),但是当用户从服务器重新下载 ipa 文件并再次安装时,一切正常。更奇怪的是,并非所有用户都随机发生。有人知道我如何防止用户在 13.4 版本上崩溃吗?它是一个 iOS 错误还是我只是忘记对我的证书/代码做些什么?
提前感谢您的帮助。

0 投票
1 回答
1005 浏览

ios - Mac Catalyst:iPad 应用程序中不支持多窗口的多窗口?

我正在为 iPad 编写纸牌游戏应用程序,并希望使用 Catalyst 将其带到 Mac 上。该游戏不是支持多个窗口的游戏。但是,我在 iPad 上的模态表单中显示了一个统计屏幕,我宁愿在 Catalyst 的新窗口中打开它。这是我想要添加新窗口的唯一场景。

有没有办法让我支持多窗口应用程序,但仅限于应用程序的 Catalyst 版本?如果我在 Xcode 的应用程序目标设置中选中“支持多个窗口”复选框,那么用户突然被授予从 App Expose 在 iPad 应用程序上打开更多窗口的选项,这不是我正在寻找的功能。

在此处输入图像描述

0 投票
0 回答
324 浏览

ios - iPadOS 13.4 Ble 配对弹出窗口在没有读/写受保护特征的情况下触发

在 iPadOS 13.4 之前,我们需要读取/写入外围设备的受保护特性才能触发配对弹出窗口。启动 iPadOS 13.4 - 密码弹出似乎只是通过与外围设备的成功连接(CBCentralManager().connect(peripheral, options: nil))触发。

我需要进一步与外围设备通信,以便在显示配对弹出窗口之前获取密码。一旦显示配对弹出窗口 - 外围设备将停止响应任何进一步的请求。

这是 13.4 上的设计更改还是错误?我在 Web/Apple 的 iPadOS 13.4 发行说明上找不到任何内容。

如果这是设计更改 - 处理此问题的优雅方式是什么?

以下代码在 didConnect 外围设备上触发配对: //示例代码

0 投票
1 回答
840 浏览

html - iPad Pro 光标悬停的 CSS 状态

iPad Pro 上的新光标旨在在悬停时适应按钮。safari 中是否有一个状态来为其创建特殊的悬停?

我想在网站上制作一个如下所示的按钮:

悬停时的 iPad Pro 光标拟合按钮

现在,悬停状态有效,但光标点不会消失以适应按钮。

谢谢你的帮助 !