Swift: 相机接口过期更换成 AVCapturePhotoOutput直接上代码
以上代码是项目中封装好的, 已在项目中投入使用, 可根据自己项目需要自定义
中间过程出现了问题: 参考
掌握 iOS 常用关键字Self self 区别官方文档: https://docs.swift.org/swift-book/ReferenceManual/Types.html#ID610
The Self type refers to the same type as the type(of:) function in the Swift standard library.
在Swift标准库里 Self 类型遵守和type(of:) 方法相同的类型 .
Self.someStaticMember to access a member of the current typ...
事件分发机制事件分发机制 hit-Testing. 当我们点击了iOS设备的屏幕 , UIKit 就会生成一个事件对象UIEvent , 然后会把这个event分发给当前active活动的app.
告知当前活动的app有事件以后 , UIApplication单例就会从事件队列中去取最新的事件 , 然后分发给能够处理该事件的对象 . 这些事件按照先进先出的顺序来处理. 当处理事件时,程序的UIApplciation对象会从队列头部取出一个事件对象 , 将其分发出去 .UIApplication获取到Event后 , Application就纠结于到底要把这个事件传递给谁,这时候就要依靠H...
xib 开发 - 弹出视图iOS 开发过程中, 很多页面效果都要弹出视图, 或是列表, 或是二级界面
先来一张 facebook 的效果图
我们通过 xib 还可以已一种比较简便的方法做弹出视图, 还可以保留 present 系统自带的下拉dismiss 动画
xib 实现方式12340. xib 背景色设为空1. 往 xib 上拖拽一个contentView 2. 添加contentView 高度约束, 和父控件 viewController 的高度一致3. 设置高度宽高比 : 根据自定义内容比例自己设置
模拟器运行效果
对于一般开发场景 (交互没有特殊规定, 业务比较重要) ...
封装 moya 返回的服务器数据解析
iOS开发中简单界面用一个接口请求可能就达到效果了, 但是对于级联列表,或者表单这类界面, 一般都会有多个接口请求,而且会有 Post Get 上传等多项需求 .
封装 MapModel 方法
让每个网络请求都走这个通道统一返回处理后的json 结果
123456789101112// Send requestprovider.request(.login(userAccount: "18516635543", password: "1234565")){ (response) in sw...
开发中如何用 Moya
一步一步的,从基础到优雅的使用
一般情况 , 写界面代码如下面
1234567891011121314151617181920212223242526 override func viewDidLoad() { super.viewDidLoad() setupUI() binding() } func setupUI() { nameLabel.font = UIFont.systemFont(ofSize: 14) nameLabel.textColor = UIColor.red ageLabel.font =...
Moya 解读通常Swift 使用的网络框架是 Alamofire, 对于一些网络请求的细节经常还要单独处理, 比较头疼.
Alamofire回顾一下 Alamofire 的网络请求方式:
123456789101112131415161. 带参数请求let parameters = ["foo": "bar"]// All three of these calls are equivalentAF.request("https://httpbin.org/get", parameters: parameters) // e...
Moya 库基本使用忽略导入到项目步骤
官方模板
新建一个 MyService.swift 文件
新建MyService 枚举, 录入接口目标信息 ( 每个枚举就是一个接口名称 )
写下可能用到的信息作为枚举的一部分 ( 外部调用作为参数传进来 )
扩展 MyService, 遵守 TargetType 协议
实现 TargetType 协议 [ baseURL, path, method, task, simpleData, headers]
TargetType 协议所必须遵守的模板123456var baseURL: URL {}var path: S...
面相协议编程12345678910111213141516// 举一个例子protocol Drawing {mutating func addEllipse(rect: CGRect, fill: UIColor) // 添加椭圆mutating func addRectangle(rect: CGRect, fill: UIColor) // 添加长方形}extension CGContext: Drawing { func addEllipse(rect: CGRect, fill: UIColor) { setFillColor(fil...
泛型基本概念iOS 里泛型是 Swift 引入进来的, 可让你根据自定义的需求, 编写出适用于任意类型可复用的函数以及类型。
作用避免写重复代码, 而是用一种清晰抽象的方式来表达代码意图。
解决的问题例如: 任意两个相同类型的值,交换他俩的值。
Code
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475import UIKitvar str = &qu...