标签: ios13

使用 PDFKit 实现 PencilKit

我的应用程序使用PDFKit显示 PDF 文件,并允许用户通过我自己的代码使用UIKitCoreGraphics框架对 pdf 文件进行注释。由于我想使用PencilKit框架来更好地进行注释,因此我正在实施该PencilKit框架,但我发现了一些我遇到的问题。

我所做的是添加PKCanvasViewDocumentView一个PDFView的。从本质上讲,它工作正常,我可以使用 的工具进行注释,PencilKit并且可以浏览 PDF 的页面。

当我放大 PDF 页面时出现问题。由于PKCanvasView没有在 内部缩放本身DocumentView,因此墨水注释显示为像素化。的PKCanvasView,因为它的变焦并没有改变没有重绘其与新的规模内容,并且更新contentScaleFactor使图更清晰不起作用。

另一个问题是,在某种程度上与前一个相关,由于应用程序适合每个 PDF 页面以使用所有屏幕,这使得UIScrollView包含DocumentViewPDFView 的 的缩放功能因 PDF 页面的大小而异. 这使得如果我打开一个有小页面的 PDF 和另一个大页面的 PDF,就大小(宽度 x 高度)而言,即使我选择了最小的,我也会看到不同大小的墨迹工具的线条宽度PKToolPicker两个文件的线宽。

所以我想知道是否可以将 aPKCanvasView和 PDFView 分别添加到UIViewController’s视图中,因此它们都具有相同的superview,具有相同的 ContentSize 和最大/最小缩放级别,并且在平移和缩放 时PKCanvasView,PDFView 也是如此。

无论如何,如果有解决方法,我很乐意知道。;)

pdf blurry ios ios13 pencilkit

18
推荐指数
0
解决办法
974
查看次数

iPadOS:通过NEHotspotConfiguration连接的网络在一段时间后断开连接

我的应用用来NEHotspotConfigurationManager通过Wi-Fi将自身连接到特定设备。该设备充当WPA2接入点。在较旧的iOS版本(iOS 12及更低版本)中,一切正常,但在iPadOS / iOS 13中,每隔一段时间就会断开设备的连接。如何保持连接而不NEHotspotConfiguration永久存储?

我怀疑它与新功能-多个Windows(我的应用程序不支持)有关。原因是在我的NEHotspotConfiguration我将joinOnce标志设置为true(因为永远不要在应用程序外部使用设备的网络)。苹果的文档指出:

如果joinOnce设置为true,则仅在配置了热点的应用程序在前台运行时,热点才会保持配置和连接。发生以下任何事件时,都会断开热点并删除其配置:

  • 该应用程序在后台停留超过15秒。
  • 设备进入睡眠状态。
  • 该应用程序崩溃,退出或被卸载。
  • 该应用程序将设备连接到其他Wi-Fi网络。

也许我的应用被错误地识别为前景。

设置joinOncefalse可使应用程序保持连接状态,但这不是可接受的解决方案,因为我的设备不提供Internet连接,因此不能在应用程序外部使用。

这是我应用热点配置的方法:

let hotspotConfiguration = NEHotspotConfiguration(ssid: self.ssid, passphrase: self.passphrase, isWEP: false)
hotspotConfiguration.joinOnce = true

NEHotspotConfigurationManager.shared.apply(hotspotConfiguration) { error in
    // connection is successfully applied
    // and about 15 seconds later it is lost.
}
Run Code Online (Sandbox Code Playgroud)

我希望将joinOnce标志设置为时保持连接true

ios swift networkextension ios13 ipados

17
推荐指数
1
解决办法
498
查看次数

具有估计高度的集合视图组合布局不起作用

我希望我的应用程序针对每个辅助功能选项进行优化,包括文本大小。

我根据具有组合布局的部分制作了一个 collectionView 布局。所以我需要我的单元格的高度随着它的内容增长。我认为 using.estimated(constant)可以完成这项工作,但它似乎不起作用。内部约束对我来说似乎很好。

这是我正在使用的布局:

let size = NSCollectionLayoutSize(widthDimension: .fractionalWidth(0.42), heightDimension: .estimated(90))
let item = NSCollectionLayoutItem(layoutSize: NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .estimated(90)))
item.contentInsets = NSDirectionalEdgeInsets(top: 5.0, leading: 12.0, bottom: 5.0, trailing: 12.0)
let group = NSCollectionLayoutGroup.vertical(layoutSize: size, subitem: item, count: 1)
let section = NSCollectionLayoutSection(group: group)
section.contentInsets = NSDirectionalEdgeInsets(top: 0.0, leading: 6.0, bottom: 0.0, trailing: 0.0)
section.orthogonalScrollingBehavior = .groupPaging
Run Code Online (Sandbox Code Playgroud)

当我在辅助功能设置上设置更高的文本大小时,会发生什么:

在此处输入图片说明

单元格应该包含 2 个标签,这里是 autoLayoutConstraints :

    NSLayoutConstraint.activate([
        self.titleLabel.topAnchor.constraint(equalTo: self.container.topAnchor, constant: 10),
        self.titleLabel.leftAnchor.constraint(equalTo: self.container.leftAnchor, constant: 20),
        self.titleLabel.rightAnchor.constraint(equalTo: self.container.rightAnchor, constant: -20)
    ]) …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview swift ios-autolayout ios13

17
推荐指数
4
解决办法
9561
查看次数

SwiftUI 在子视图中隐藏 TabBar

我正在使用 SwiftUI,但 TabBar 有一些问题。我想隐藏特定子视图上的 TabBar。

试过

UITabBar.appearance().isHidden = true
Run Code Online (Sandbox Code Playgroud)

它仅适用于 TabView 中的直接视图。但是当我把它放在子视图中时它不起作用。

有没有人解决这个问题?

谢谢。

xcode swift ios13 swiftui

17
推荐指数
10
解决办法
1万
查看次数

Xcode 11 Beta-iOS 13模拟器-带有占位符的UITextField导致应用崩溃

在Xcode 11 Beta版本和iOS 13模拟器中,访问TextField _placeholderLabel.textColor标签键时会崩溃。

用于应用占位符文本颜色的键。

[textfield setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
Run Code Online (Sandbox Code Playgroud)

“ NSGenericException”-原因:“禁止访问UITextField的_placeholderLabel ivar。这是一个应用程序错误”

placeholder uitextfield ios13 xcode11

16
推荐指数
5
解决办法
1万
查看次数

在iOS13.1上播放音频时,应用崩溃

我正在构建一个应用程序,该应用程序使用URL从主捆绑包中运行声音文件。当我在iOS 13上进行测试时,一切都很好。但是,随着新的13.1更新,我在代码行中遇到了错误

backgroundMusicPlayer =试试AVAudioPlayer(contentsOf:URL(fileURLWithPath:sound!))

说的是:

线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x48

这是我在自定义类中使用的代码,该类在应用启动时运行背景音乐:

import Foundation
import AVFoundation

var backgroundMusicPlayer = AVAudioPlayer()

func playBackgroundMusic(filename: String){
let  sound = Bundle.main.path(forResource: filename, ofType: "m4a")

do{
    try     
AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: AVAudioSession.Mode.default, options: [AVAudioSession.CategoryOptions.mixWithOthers])
    backgroundMusicPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: sound!))

}catch{
    print (error)
}
backgroundMusicPlayer.numberOfLoops = -1
backgroundMusicPlayer.prepareToPlay()
backgroundMusicPlayer.play()
}
Run Code Online (Sandbox Code Playgroud)

所有这些都可以在iOS13上的模拟器中正常运行,但在运行13.1的设备上崩溃时,URL似乎是问题所在,但我不确定为什么。在其他屏幕上,按钮正在触发捆绑中的音频文件时,也会发生相同的行为。

avfoundation swift ios13

16
推荐指数
2
解决办法
1837
查看次数

新的 iOS 13 模态演示:演示控制器不会向下移动

在 iOS 13 中以模态呈现 UIViewControllers 时,我有一个奇怪的行为。我在 iOS 13 中看到的新呈现样式如下所示:

呈现视图控制器出现在呈现视图控制器的后面。它也向下移动以模仿“堆栈”

呈现视图控制器出现在呈现视图控制器的后面。 它也向下移动以模仿“堆栈”

同时,当通过我的应用程序呈现视图控制器时,我不断得到这种效果:

呈现新的视图控制器时,呈现的视图控制器根本不会移动

呈现新的视图控制器时,呈现的视图控制器根本不会移动

我使用此代码来呈现此视图控制器:

let controller = storyboard?.instantiateViewController(withIdentifier: "tutorial") as! TutorialController
controller.modalPresentationStyle = .pageSheet
controller.modalTransitionStyle = .coverVertical
present(controller, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

这是我的问题: 我想知道为什么会发生这种情况,以及是否有办法以正常的 iOS 13 样式呈现视图控制器(呈现视图控制器向后移动)。

提前致谢!

user-interface uiviewcontroller ios swift ios13

16
推荐指数
1
解决办法
1万
查看次数

暗模式不会在 Xcode 中切换到暗模式背景

我为“明/暗外观”设置了不同的背景

在此处输入图片说明

但是当在Xcode 中的Light/Dark 模式之间切换时,我的背景总是使用来自“ Any/Light Appearance ”的图像。只有为图标设置的颜色会相应更改。

在此处输入图片说明

仅供参考:我正在使用界面样式选项在明暗模式之间切换。

在此处输入图片说明

有人可以建议我缺少什么吗?这对我来说都是新的。

xcode background-image xcode6 ios13 ios-darkmode

16
推荐指数
2
解决办法
5190
查看次数

iOS 13中的黑暗模式启动屏幕

我已经更新了iOS应用程序,使其可以在iOS 13上的黑暗模式下工作,但是在尝试使启动屏幕看起来不错时遇到了麻烦。

目前,它是带有应用程序徽标的明亮的白色屏幕,在黑暗模式下看起来很糟糕。我尝试将启动屏幕的背景色设置为我用“任何外观”为白色而“深色外观”为黑色制成的颜色资产-但是启动屏幕始终始终显示为白色。

有什么方法可以使我的启动屏幕在黑暗模式下正常工作?

storyboard ios ios13

15
推荐指数
5
解决办法
3299
查看次数

CoreData崩溃错误Xcode 11 Beta,IOS 13 Beta

我试图在手机IOS 13 Beta上从Xcode11 beta构建我的应用程序。加载应用程序时发生崩溃。

2019-07-22 13:58:12.910460 + 0300 GoodWine [3738:792501] [错误]错误:此应用程序中的一个或多个模型使用的可变形属性的变压器名称未设置或设置为NSKeyedUnarchiveFromDataTransformerName。请改用“ NSSecureUnarchiveFromData”或NSSecureUnarchiveFromDataTransformer的子类。在某些时候,当指定nil时,Core Data将默认使用“ NSSecureUnarchiveFromData”,并且包含不支持NSSecureCoding的类的可转换属性将变得不可读。

CoreData:错误:此应用程序中的一个或多个模型正在使用可变形的属性,且其变压器名称未设置或设置为NSKeyedUnarchiveFromDataTransformerName。请改用“ NSSecureUnarchiveFromData”或NSSecureUnarchiveFromDataTransformer的子类。在某些时候,当指定nil时,Core Data将默认使用“ NSSecureUnarchiveFromData”,并且包含不支持NSSecureCoding的类的可转换属性将变得不可读。

2019-07-22 13:58:12.910595 + 0300 GoodWine [3738:792501] [错误] CoreData:此应用程序中的一个或多个模型使用的可变形属性的变压器名称未设置或设置为NSKeyedUnarchiveFromDataTransformerName。请改用“ NSSecureUnarchiveFromData”或NSSecureUnarchiveFromDataTransformer的子类。在某些时候,当指定nil时,Core Data将默认使用“ NSSecureUnarchiveFromData”,并且包含不支持NSSecureCoding的类的可转换属性将变得不可读。

CoreData:警告:实体“ SFMCKeyValueEntity”上的属性“值”正在使用nil或不安全的NSValueTransformer。请改用“ NSSecureUnarchiveFromData”或NSSecureUnarchiveFromDataTransformer的子类。

core-data core-data-migration swift ios13 xcode11

15
推荐指数
2
解决办法
4901
查看次数