问题标签 [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.
swift - 即使在 plist 中提供了“委托类名称”,也无法加载场景委托类
我正在尝试编写一个支持多个窗口的 iPadOS/macOS Catalyst 应用程序。当我运行时,我收到日志错误消息:
Info.plist 文件中的“Delegate Class Name”条目已填写,其值(不带引号)“WTF?Viewer.SceneDelegate”。类存在。为什么加载不出来?
我尝试了“委托类名称”值的几种变体,例如:
ios - 对于 ipad 12.9,我的应用程序屏幕看起来太小了"
我的 ipad 应用在 9.7、10.5 英寸的屏幕上看起来不错,但在 12.9" 时,应用看起来太小了。例如,集合视图单元格在屏幕上看起来太小了。我在这里尝试做两件事,
增加整个应用程序的字体,因为 iPad 有规则的宽度和规则的高度,我被困在如何增加字体上。
屏幕上的集合视图、表格视图或其他内容看起来太小了。我应该根据屏幕尺寸重写代码吗?
ios - 在后台执行 Apple 快捷方式
使用 URL 方案,您可以通过 URL 方案从您的应用程序启动快捷方式(快捷方式应用程序)。您甚至可以向 URL 添加回调,以便在执行快捷方式后再次打开应用程序(请参阅https://support.apple.com/en-nz/guide/shortcuts/apdcd7f20a6f/ios)
我目前正在为残障人士编写一个应用程序,它以引导访问模式运行。我想在应用程序中点击一个按钮来执行快捷方式。应用程序不应离开引导访问模式,而且快捷方式 UI 可能会分散用户的注意力。
有没有办法在后台执行快捷方式?
ios - iPadOS:我可以请求另一个应用程序以分屏方式打开吗?
我写了两个应用程序,我们称它们为 A 和 B。
当用户在全屏显示的应用程序中执行特殊操作时,AI 希望应用程序 B 在应用程序 A 旁边自动分屏打开。
在这个WWDC session中,我了解到现在可以在一个具有多个场景的应用程序中使用此功能:requestSceneActivation(_:userActivity:options:errorHandler)
但这是否有可能使用两个应用程序来实现?
ios - UIViewController 可以选择退出、访问或影响 iPad 上的多任务模式吗?
iOS 9 为 iPad 引入了多任务处理。这些模式包括:
- 滑过
- 拆分视图
- 画中画
在这些问题中,我不考虑画中画 (PiP),因为这是一个小众案例,仅适用于来自有限数量源的视频播放 - 而滑动和拆分视图适用于应用程序中的所有视图控制器。
Apple 的文档在这方面非常简单,特别是在开发集成到其他人的应用程序的框架时(我无法控制并且无法选择退出 - 通过启用“需要全屏”),事情开始变得复杂。
1.有没有办法让UIViewController
自己声明它需要全屏?- 我知道应用程序可能需要全屏显示,但可以在按视图控制器设置中进行设置吗?(...话虽如此,我不确定当显示该视图控制器时拆分视图会发生什么...?或者它可能只是在该视图控制器在屏幕上时停止发生拆分...?)
2. 从处于拆分视图/滑过的应用程序中,是否可以全屏显示视图控制器?
3. 是否有高级 API 来检测应用程序当前是处于拆分视图/滑过还是全屏?- 我的意思是,我可以检查视图尺寸并将它们与实际屏幕尺寸进行比较,但这似乎很笨重 - 有没有简单的方法可以做到这一点?
4.有没有办法防止滑过覆盖UIViewController
,或者至少检测当前是否有滑过?
swift - 无需 UIDocumentPickerViewController 直接从外部驱动器访问文件
根据这个:
https://developer.apple.com/documentation/uikit/view_controllers/providing_access_to_directories
iOS 13 添加了 UIDocumentPickerViewController 选择目录的功能,包括来自 3rd 方文件提供程序的目录。
单击 ViewController 中的按钮,调用下面的函数“showPickerView”
我们正在使用下面的代码片段,通过闪电电缆访问外部 USB 驱动器
一旦在弹出窗口下方调用此函数,
用户将单击“完成”标签,该标签将调用以下代码。
我们的目标:直接从外部驱动器访问文件(我们已经知道外部驱动器的路径),而不是显示文档选择器的弹出窗口并单击“完成”按钮
原因:对于最终用户来说,这个弹出窗口很烦人。
我们尝试过的选项
显示文档选择器但自动关闭它。
获取右上角“完成”按钮的对象 - 以编程方式执行 buttonObj.sendActions(for: .touchUpInside),提供一些手势/快捷方式,一旦打开此弹出窗口就会播放
- 通过更改不透明度或可见性选项隐藏此弹出窗口。
目前,上述任何选项均无效。
请告诉我们,如果有任何其他推荐的方法来解决这个问题。
ios - 为什么调用 super 是这个方法的最后一件事而不是第一件事?
我边走边学 Swift。
我发现这样的函数viewDidLoad()
和许多其他函数有时是这样写的:
有时这样写:
我的意思是打电话给super.viewDidLoad()
作为函数内部的第一件事还是最后一件事?
它对程序本身有什么影响?
ios - 如何在 iOS13 上的 iPad 上呈现 iPhone 风格的 actionSheet?
一些背景可以更好地理解这个问题:
在iPad上的iOS 12上,当我用作 的类型时,它显示为弹出框。还需要设置一个and ,否则它会崩溃。.actionSheet
UIAlertController
sourceRect
sourceView
但。当我在 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)
ios - 只调用一次长按按钮动作而不是快速射击
这是我的长按代码。当我长按按钮时,它一直被调用。我该如何设置它只被调用一次,然后只有在松开手指并再次开始长按时才会再次调用它?