草庐IT

ios - 如何为某些请求提供远程文件(从远程 SMB 服务器获取)

当某些请求到达服务器(在移动应用程序上运行的服务器)时,我正在尝试提供视频文件作为响应。例如:有人去http://mylocalip:8080/video,我想用视频服务他。这个视频文件可以存储在本地,也可以是外部的。我开始尝试提供位于SMB服务器上的文件,所以我尝试使用此代码从服务器获取文件并将其返回(我知道它正在等待读取整个文件而不是读取和发送block,但应该可以工作对吧?):webServer.addDefaultHandlerForMethod("GET",requestClass:GCDWebServerRequest.self,processBlock:{requesti

ios - 如何为 tableview 上的 webview 内容启用 VoiceOver

通常情况下,VoiceOver可以正确读取使用WKWebView加载的网页内容,并且可以读取按钮和链接。但是,‖当我在UITableViewCell上添加WKWebView并在UITableVIew中显示时,VoiceOver无法识别它。根据apple的tableview文档,为了让UITableViewCell上的各个内容分别被VoiceOver识别,需要将cell的isAccessibilityElement设置为false,将view的isAccessibilityElement设置为true。但是如果WKWebView的isAccessibilityElement设置为true

ios - 如何为 View Controller 的 View 设置多个位置状态?

我要解决的问题是:我有一个DetailViewController显示我的模型的数据,其中包含UIImageView、UITextFields等如果用户点击一个按钮,那些DetailViewController的View将移动到不同的位置并开始可编辑。可编辑时,如果用户点击其中一个UITextField(只有其中一个是特殊的),UITextField将移动到屏幕顶部,并且UITableView似乎会自动完成它(就像您在google上键入内容时一样)。用户也可以点击相同的按钮返回到显示状态(其中没有任何内容是可编辑的)。所以基本上我在ViewController中有一些View,有3种可

swift - 如何为 iOS 7 和 iOS 8 实现搜索 Controller

我的目标是我的应用程序应该在iOS7和iOS8上运行。由于UISearchDisplayController在iOS8中被弃用,我使用了iOS8的UISearchController。但它在iOS7中不起作用。如果我使用UISearchDisplayController那么它将起作用在iOS7中。但是为两个平台实现搜索Controller的最佳方法是什么?在iOS8中,我实现了如下搜索Controller-overridefuncviewDidLoad(){super.viewDidLoad()//SearchControllerSetupsearchController=UISear

ios - 如何为 View Controller 的背景设置动画以在多种颜色之间淡入淡出?

如何在不导致无限内存问题的情况下做到这一点?我正在尝试这样的事情:overridefuncviewDidAppear(animated:Bool){view.backgroundColor=UIColor.whiteColor()fadeBackground()}letcolors=[UIColor.blueColor(),UIColor.redColor(),UIColor.greenColor(),UIColor.orangeColor(),UIColor.purpleColor()]funcfadeBackground(){UIView.animateWithDuration(4

swift - 任何想法如何为 swift 3 安装 'ReachabilitySwift'?

我已经尝试安装了:pod'ReachabilitySwift','~>3'进入我的Podfile,但出现此错误:[!]无法满足以下要求:ReachabilitySwift(~>3)Podfile需要您的规范源都不包含满足依赖项的规范:ReachabilitySwift(~>3)。你有:*过时的源repo,您可以使用podrepoupdate进行更新。*输入错误的名称或版本。*未将托管Podspec的源代码库添加到您的Podfile。注意:从CocoaPods1.0开始,podrepoupdate默认情况下不会发生在podinstall上。关于如何安装它的任何想法,我也手动尝试过,但它也

swift - 如何为没有枚举的枚举添加原始值?

给定一个我无法更改的外部枚举:enumMyEnum{casefirstcasesecond}我如何最好地使这个RawRepresentable,或者至少可以转换为Int(或String)?我可以编写一个扩展来模仿rawValue,但这感觉很笨拙:extensionMyEnum{enumEnumError:Error{caseinvalidValue}init(rawValue:Int)throws{switchrawValue{case0:self=.firstcase1:self=.seconddefault:throwEnumError.invalidValue}}varrawVa

ios - 如何为 CALayer 设置委托(delegate)?

我正在尝试设置一个CALayer的委托(delegate),以便我可以使用draw(_:in:)。documentation描述了如何去做。但是一旦我设置了委托(delegate),就会出现运行时错误:Thread1:EXC_BAD_ACCESS(code=EXC_I386_GPFLT)这是生成错误的代码。在Xcode8.2.1中替换SingleViewApplication模板中的ViewController.swift:importUIKitclassViewController:UIViewController{overridefuncviewDidLoad(){super.vi

swift - 如何为通用 Result<T> 类型定义相等性?

我有一个普通的Result输入:publicenumResult{casesuccess(T)caseerror}我想制作类型Equatable,很简单:publicenumResult:Equatable{casesuccess(T)caseerror//definitionof==}但是我想使用Result,这是一个类型错误,因为Void不符合Equatable.有没有办法定义Result符合Equatable的类型,接受Result并且仍然对T:Equatable使用正确的相等性检查?这对Void没有意义吗?实现Equatable? 最佳答案

ios - 如何为特定的 SKScene 使用 applicationWillTerminate?

我有一个SKScene显示加入当前房间的玩家。如果这些玩家中的任何一个离开房间(通过点击离开按钮),他们的玩家列表将被更新。但如果我关闭其中一位玩家的应用程序,该特定玩家将留在房间内。我想从applicationWillTerminate调用我的leaveRoom函数,这样所有数据都可以正常工作。可能吗?我该如何解决这个问题? 最佳答案 你可以让观察者拦截它:overridefuncdidMove(toview:SKView){NotificationCenter.default.addObserver(self,selector: