问题标签 [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 投票
1 回答
620 浏览

ios - 上下文菜单块拖放到新窗口

这个 iPadOS/iOS 13 应用程序实现了多个窗口和拖放。在几乎所有情况下,两者都能完美运行。

我们在实现 UITableViewDelegate 的上下文菜单方法的表视图中遇到了唯一的问题。

如果我们在上下文菜单出现之前启动拖动,那么我们可以通过将项目移动到屏幕边缘成功地将项目拖动到新窗口(UIScene)中。但是,如果我们在上下文菜单出现启动拖动,则无法将项目拖动到新窗口或场景中。

有谁知道问题的根源是什么?

以下是展示问题的两个对比视频:

失败

这是拖放失败。

成功

这是拖放成功。

0 投票
2 回答
2053 浏览

swift - 即使在 plist 中提供了“委托类名称”,也无法加载场景委托类

我正在尝试编写一个支持多个窗口的 iPadOS/macOS Catalyst 应用程序。当我运行时,我收到日志错误消息:

Info.plist 文件中的“Delegate Class Name”条目已填写,其值(不带引号)“WTF?Viewer.SceneDelegate”。类存在。为什么加载不出来?

我尝试了“委托类名称”值的几种变体,例如:

0 投票
0 回答
72 浏览

ios - 对于 ipad 12.9,我的应用程序屏幕看起来太小了"

我的 ipad 应用在 9.7、10.5 英寸的屏幕上看起来不错,但在 12.9" 时,应用看起来太小了。例如,集合视图单元格在屏幕上看起来太小了。我在这里尝试做两件事,

  1. 增加整个应用程序的字体,因为 iPad 有规则的宽度和规则的高度,我被困在如何增加字体上。

  2. 屏幕上的集合视图、表格视图或其他内容看起来太小了。我应该根据屏幕尺寸重写代码吗?

0 投票
0 回答
1734 浏览

ios - 在后台执行 Apple 快捷方式

使用 URL 方案,您可以通过 URL 方案从您的应用程序启动快捷方式(快捷方式应用程序)。您甚至可以向 URL 添加回调,以便在执行快捷方式后再次打开应用程序(请参阅https://support.apple.com/en-nz/guide/shortcuts/apdcd7f20a6f/ios

我目前正在为残障人士编写一个应用程序,它以引导访问模式运行。我想在应用程序中点击一个按钮来执行快捷方式。应用程序不应离开引导访问模式,而且快捷方式 UI 可能会分散用户的注意力。

有没有办法在后台执行快捷方式?

0 投票
3 回答
386 浏览

ios - iPadOS:我可以请求另一个应用程序以分屏方式打开吗?

我写了两个应用程序,我们称它们为 A 和 B。

当用户在全屏显示的应用程序中执行特殊操作时,AI 希望应用程序 B 在应用程序 A 旁边自动分屏打开。

在这个WWDC session中,我了解到现在可以在一个具有多个场景的应用程序中使用此功能:requestSceneActivation(_:userActivity:options:errorHandler)

但这是否有可能使用两个应用程序来实现?

0 投票
0 回答
65 浏览

ios - UIViewController 可以选择退出、访问或影响 iPad 上的多任务模式吗?

iOS 9 为 iPad 引入了多任务处理。这些模式包括:

  • 滑过
  • 拆分视图
  • 画中画

在这些问题中,我不考虑画中画 (PiP),因为这是一个小众案例,仅适用于来自有限数量源的视频播放 - 而滑动和拆分视图适用于应用程序中的所有视图控制器。

Apple 的文档在这方面非常简单,特别是在开发集成到其他人的应用程序的框架时(我无法控制并且无法选择退出 - 通过启用“需要全屏”),事情开始变得复杂。

1.有没有办法让UIViewController自己声明它需要全屏?- 我知道应用程序可能需要全屏显示,但可以在按视图控制器设置中进行设置吗?(...话虽如此,我不确定当显示该视图控制器时拆分视图会发生什么...?或者它可能只是在该视图控制器在屏幕上时停止发生拆分...?)

2. 从处于拆分视图/滑过的应用程序中,是否可以全屏显示视图控制器?

3. 是否有高级 API 来检测应用程序当前是处于拆分视图/滑过还是全屏?- 我的意思是,我可以检查视图尺寸并将它们与实际屏幕尺寸进行比较,但这似乎很笨重 - 有没有简单的方法可以做到这一点?

4.有没有办法防止滑过覆盖UIViewController,或者至少检测当前是否有滑过?

0 投票
2 回答
563 浏览

swift - 无需 UIDocumentPickerViewController 直接从外部驱动器访问文件

根据这个:

https://developer.apple.com/documentation/uikit/view_controllers/providing_access_to_directories

iOS 13 添加了 UIDocumentPickerViewController 选择目录的功能,包括来自 3rd 方文件提供程序的目录。

单击 ViewController 中的按钮,调用下面的函数“showPickerView”

我们正在使用下面的代码片段,通过闪电电缆访问外部 USB 驱动器

一旦在弹出窗口下方调用此函数,

在此处输入图像描述

用户将单击“完成”标签,该标签将调用以下代码。

我们的目标:直接从外部驱动器访问文件(我们已经知道外部驱动器的路径),而不是显示文档选择器的弹出窗口并单击“完成”按钮

原因:对于最终用户来说,这个弹出窗口很烦人。

我们尝试过的选项

  1. 显示文档选择器但自动关闭它。

  2. 获取右上角“完成”按钮的对象 - 以编程方式执行 buttonObj.sendActions(for: .touchUpInside),提供一些手势/快捷方式,一旦打开此弹出窗口就会播放

  3. 通过更改不透明度或可见性选项隐藏此弹出窗口。

目前,上述任何选项均无效。

请告诉我们,如果有任何其他推荐的方法来解决这个问题。

0 投票
2 回答
217 浏览

ios - 为什么调用 super 是这个方法的最后一件事而不是第一件事?

我边走边学 Swift。

我发现这样的函数viewDidLoad()和许多其他函数有时是这样写的:

有时这样写:

我的意思是打电话给super.viewDidLoad()作为函数内部的第一件事还是最后一件事?

它对程序本身有什么影响?

0 投票
1 回答
577 浏览

ios - 如何在 iOS13 上的 iPad 上呈现 iPhone 风格的 actionSheet?

一些背景可以更好地理解这个问题:

iPad上的iOS 12上,当我用作 的类型时,它显示为弹出框。还需要设置一个and ,否则它会崩溃。.actionSheetUIAlertControllersourceRectsourceView

但。当我在 ViewController 中以 formSheet/pageSheet/popover 的形式呈现这样的警报时,该警报将不需要 sourceRect/sourceView 并且将呈现为 iPhone 样式的操作表(但不像它那样作为弹出框应该在 iPad 上)。它看起来像这样:在此处输入图像描述

iOS 13 发生了什么:

在 iOS13 上,这种行为发生了变化。上面的情况现在崩溃了,需要 sourceRect/sourceView ,因为它通常发生在 iPad 上。这意味着即使警报显示在 formSheet/pageSheet/popover VC 中,它仍然需要 sourceRect/sourceView,现在它将显示为弹出框(但不是 iPhone 样式的操作表)。

问题:

如果有人知道如何在这种情况下将警报演示保持在相同的 actionSheet 样式(但不是弹出窗口)中,我将不胜感激,就像以前在 iOS 12 上一样。

更新:显然这个问题开始出现在 iOS13.2(不是 13.0)

0 投票
1 回答
115 浏览

ios - 只调用一次长按按钮动作而不是快速射击

这是我的长按代码。当我长按按钮时,它一直被调用。我该如何设置它只被调用一次,然后只有在松开手指并再次开始长按时才会再次调用它?