Questions tagged «swift»

Swift是Apple Inc.针对其平台和Linux开发的一种安全,快速且具有表现力的通用编程语言。Swift是开源的。仅将标记用于有关语言功能或在Swift中需要代码的问题。将标签[ios],[ipados],[macos],[watch-os],[tvos],[cocoa-touch]和[cocoa]用于有关平台或框架的(语言不可知)问题。

1
更新到iOS 13后,UITextField的建议(电子邮件,电话号码,名字...)不会出现在键盘上方
将设备更新到iOS 13后,为inputField(UITextField)输入建议。像电子邮件,电话号码,名字,姓氏都不再出现在键盘上方。第一个映像iOS 12.4.1建议使用电子邮件,第二个映像iOS 13.1.2没有建议。在iPhone 7 iOS 12.4.1上使用xCode版本11.0(11A419c)构建了相同的演示应用程序(第一张图片,按预期工作)。iPhone 7 iOS 13.1.2(第二张图片,键盘上方没有任何建议)我通过在故事板上添加textContentType以及直接在代码中添加下一行进行了测试 email.textContentType = .emailAddress 和
11 ios  swift 

1
使用swizzling方法在所有UIViewController实例上一次更改iOS13上的modalPresentationStyle
[问与答] 是否可以UIViewController.modalPresentationStyle在iOS 13上全局更改值,使其表现得像在iOS 12(或更早版本)上一样? 为什么? 在iOS版SDK 13的默认值UIViewController.modalPresentationStyle属性已经从改变UIModalPresentationFullScreen到UIModalPresentationAutomatic是,据我所知,解决了UIModalPresentationPageSheet在iOS设备上,或者至少在iPhone上。 由于我已经工作了几年的项目变得非常庞大,因此在很多地方都提供了视图控制器。新的演示样式并不总是与我们的应用程序设计匹配,有时会导致UI崩溃。这就是为什么我们决定改UIViewController.modalPresentationStyle回UIModalPresentationFullScreen为iOS13 SDK之前的版本。 但是,viewController.modalPresentationStyle = UIModalPresentationFullScreen在调用presentViewController:animated:completion:控制器的每个位置进行调用之前添加似乎太过分了。而且,那时我们还有更严重的事情要处理,这就是为什么暂时或至少在我们更新设计并解决所有UI问题之前,我们决定采用方法混淆方法的原因。 我的答案中给出了有效的解决方案,但是希望您能收到任何反馈,告诉我这种方法可能带来的不利影响或后果。
11 ios  objective-c  swift  ios13 

2
在iOS 13中未调用application(... continue userActivity ...)方法
嗨,我正在使用UniversalLink制作ios应用。 Universal Link可以正常工作,但是不调用回调方法。 我的AppDelegate.swift在下面。 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool …
11 ios  swift  ios13 

3
警告:“ UnsafeBufferPointer <T>”的初始化会导致缓冲区指针悬空
在更新到Swift 5.2 / Xcode 11.4之后,出现以下代码警告: extension Data { init&lt;T&gt;(from value: T) { var value = value let pointer = UnsafeBufferPointer(start: &amp;value, count: 1) self.init(buffer: pointer) } func to&lt;T&gt;(type: T.Type) -&gt; T { return self.withUnsafeBytes { $0.load(as: T.self) } } } 在网上让指针= UnsafeBufferPointer(开始:&值,计数:1)我得到了 初始化“ UnsafeBufferPointer”会导致缓冲区指针悬空 我可以使用@silenceWarning,但这是肮脏的解决方案。也许我需要将指针存储在某个地方并在将来进行清理?

3
找不到Flutter构建失败的'UserAgent.h'文件
项目无法使用firebase_crashlytics构建或调试。在我的Mac中,我已将最新版本更新为Flutter,但我们正在部署该应用程序的计算机的版本较低(Flutter 1.9.1 hotfix-5)。所以我尝试了以下事情: flutter pub cache repair flutter clean 删除Podfile.lock和 ios/pod install 但是没有运气。 #import "UserAgent.h" ^~~~~~~~~~~~~ 1 error generated. 有没有暂时不升级抖动的解决方案?

1
期望SwiftUI DynamicProperty属性包装器的内部更新触发视图更新是否正确?
我正在尝试创建SwiftUI支持的自定义属性包装器,这意味着对相应属性值的更改将导致对SwiftUI视图的更新。这是我所拥有的简化版本: @propertyWrapper public struct Foo: DynamicProperty { @ObservedObject var observed: SomeObservedObject public var wrappedValue: [SomeValue] { return observed.value } } 我看到,即使my ObservedObject包含在我的自定义属性包装器中,SwiftUI仍然可以捕获更改,SomeObservedObject只要: 我的属性包装器是一个结构 我的属性包装器符合 DynamicProperty 不幸的是,文档稀疏,我很难说这是否只能通过当前的SwiftUI实现运气。 DynamicProperty(在Xcode中,不在在线中)的文档似乎表明这种属性是从外部更改的属性,导致视图重绘,但是无法保证将自己的类型与该协议兼容时会发生什么。 我可以期望它在以后的SwiftUI版本中继续工作吗?

1
如何在SwiftUI中检测右键?
我正在编写一个简单的Mines应用程序,以帮助我了解SwiftUI。因此,我希望主要点击(通常是LMB)“挖”(揭示那里是否有矿井),以及希望次要点击(通常是人民币)来标记。 我正在挖掘工作!但是我不知道如何放置标记,因为我不知道如何检测辅助点击。 这是我正在尝试的: BoardSquareView( style: self.style(for: square), model: square ) .gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square))) .gesture(TapGesture().onEnded(self.handleUserDidTap(square))) 正如我前面所暗示的,handleUserDidTap单击时可以正确调用by返回的函数,但是handleUserDidAltTap只有在按住Control键时才能调用by 返回的函数。这是有道理的,因为这就是代码的意思……但是我看不到任何可以让其注册第二次点击的API,因此我不知道该怎么办。 我也尝试过此方法,但行为似乎相同: BoardSquareView( style: self.style(for: square), model: square ) .gesture(TapGesture().modifiers(.control).onEnded(self.handleUserDidAltTap(square))) .onTapGesture(self.handleUserDidTap(square))

1
尝试重新访问SwiftUI中先前单击的NavigationLink时,NavigationLink冻结
我正在设计一个应用程序,该应用程序包括检索JSON数据并在FileBrowser类型视图中显示检索到的项目的列表的功能。在此视图中,用户应该能够单击文件夹以更深入地进入文件树,或者单击文件以查看有关该文件的一些元数据。 我观察到,在这种情况下,当我单击文件或文件夹然后再次单击并单击它时,不会触发NavigationLink,并且在单击其他导航链接之前,我一直停留在视图上。 这是展示此问题的gif文件。 如此处所示,当我单击BlahBlah时,我正在激活NavigationLink并转到BlahBlah,然后当我向后导航并尝试重新导航至BlahBlah时,它变成灰色,表明我单击了它……但从未将我带到那里。单击TestFile可以解决此问题,并允许我导航回BlahBlah。 列表项由以下结构组成 private struct FileCell{ var FileName: String var FileType: String var FileID: String = "" var isContainer: Bool } private struct constructedCell: View{ var FileType: String var FileName: String var FileID: String var body: some View { return HStack{ VStack(alignment: .center){ Image(systemName: getImage(FileType: FileType)).font(.title).frame(width: 50) } …

1
CoreData和SwiftUI:环境中的上下文未连接到持久性存储协调器
我正在尝试通过构建一个作业管理应用程序来自学核心数据。我的代码构建良好,并且该应用程序可以正常运行,直到我尝试向列表中添加新任务。我Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1c25719e8)在以下行中收到此错误:ForEach(courses, id: \.self) { course in。控制台也有此错误:Context in environment is not connected to a persistent store coordinator: &lt;NSManagedObjectContext: 0x2823cb3a0&gt;。 我对Core Data知之甚少,对可能的问题不知所措。我已经在数据模型中设置了“任务”和“课程”实体,其中Course与“任务”具有一对多关系。每个作业将根据特定课程进行分类。 这是用于向列表添加新分配的视图的代码: struct NewAssignmentView: View { @Environment(\.presentationMode) var presentationMode @Environment(\.managedObjectContext) var moc @FetchRequest(entity: Course.entity(), sortDescriptors: []) var courses: FetchedResults&lt;Course&gt; @State var name = "" @State var hasDueDate …

2
iOS 13.0中不建议使用“ scanLocation”解决方法
尝试使用扫描仪时,我收到警告称'scanLocation'在iOS 13.0中已弃用。由于能够从下一个位置进行扫描对于扫描String至关重要,因此想知道使用什么代替scanLocation。Apple的Scanner文档甚至都没有提到过时,更不用说什么代替了scanLocation。 不推荐使用scanLocation的示例: while !scanner.isAtEnd { print(scanner.scanUpToCharacters(from: brackets)) let block = scanner.string[scanner.currentIndex...] print(block) scanner.scanLocation = scanner.scanLocation + 1 }
10 swift  foundation 


5
即使添加了SceneDelegate并更新了Info.plist之后,Xcode 11黑屏上的iOS13
我目前正在使用Xcode 11,Target iOS 13.0进入黑屏状态(该应用程序在所有低于iOS 12.1至12.4的版本中均能正常工作),我想让我的应用程序可同时用于12.1以上的iOS用户和13.0的用户,尽管将以下SceneDelegate添加到我现有的项目中, 添加App Manifest文件 import UIKit import SwiftUI @available(iOS 13.0, *) class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { //guard let _ = (scene as? UIWindowScene) else { return } let user = UserDefaults.standard.object(forKey: "defaultsuserid") let …

3
Swiftui-如何使用环境对象作为参数来初始化observedObject?
我不确定这是否是我们生活在这个勇敢的新SwiftUI世界中的反模式,但是从本质上来说,我有一个@EnvironmentObject,其中保存了一些我的视图可以调用的基本用户信息。 我还有一个@ObservedObject,它拥有此视图所需的一些数据。 当视图出现时,我想使用该@EnvironmentObject初始化@ObservedObject: struct MyCoolView: View { @EnvironmentObject userData: UserData @ObservedObject var viewObject: ViewObject = ViewObject(id: self.userData.UID) var body: some View { Text("\(self.viewObject.myCoolProperty)") } } 不幸的是,直到初始化后,我才能在环境变量上调用self: “不能在属性初始化程序中使用实例成员'userData';属性初始化程序在'self'可用之前运行。” 我可以看到一些可能的前进路线,但是它们都像黑客一样。我应该如何处理?
9 ios  swift  swiftui  xcode11 

2
Xcode和git之间的区别,用于解决swift软件包
所以背景是这样的:我有一个Xcode项目,该项目依赖于github上一个私有存储库中的swift包。当然,这需要访问密钥。到目前为止,我已经成功配置了CI,以便可以ssh进入实例和git cloneswift软件包所需的存储库。不幸的是,当xcbuild像CI一样运行它时,它不起作用,并且我收到以下消息: static:ios distiller$ xcodebuild -showBuildSettings -workspace ./Project.xcworkspace \ -scheme App\ Prod Resolve Package Graph Fetching git@github.com:company-uk/ProjectDependency.git xcodebuild: error: Could not resolve package dependencies: Authentication failed because the credentials were rejected 相比之下,git clone将很高兴地获取此仓库,如下所示: static:ios distiller$ git clone git@github.com:company-uk/ProjectDependency.git Cloning into 'ProjectDependency'... Warning: Permanently added the RSA host key for IP …

2
SKView警告日志
当运行SwiftUI&SpriteKit应用程序时,我在日志中收到以下消息: 2019-11-18 21:58:57.631912 + 0000 PixelBattles [2812:1215803] SKView:ignoreRenderSyncInLayoutSubviews为否。在没有处理程序的情况下调用_renderSynchronouslyForTime 接收此日志我做错了什么,我应该为此担心吗?可能是错误吗? 难道是SwiftUI无法弄清楚如何进行布局SKView? 主要编辑: 如果需要代码,可以在以前的编辑中看到它。我在下面说明为什么我认为它不再有意义了。 我已向Apple发送了一些反馈(FB7456217)。我已经删除了代码,因为我不再怀疑这与我的代码有关。我创建了一个空白游戏项目,没有SwiftUI,并且仍然立即获得了相同的警告日志。 因此,即使使用默认的项目模板,该日志仍会出现在设备和模拟器中。如果得到有用的答复,我将在此问题上进行更新。 我仍然没有收到任何回音-自从我半个月前发布此信息以来,是否有人获得任何新信息?我仍然有这些警告!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.