iOS使用swift创建View开发
1:大家想使用混编的话,记住架桥。
2:当项目创建swift的时候,“文件名-swift”里面已经包括了Swift文件和初始化等方法,注意的一点就是当OC调用Swift的时候。直接引用头文件“文件名-swift”就可以,不要添加调用类***swift.h文件,否则文件会出现引用框架出现错误。
import UIKit
class KGCFeedBackView: UIView,UITableViewDataSource,UITableViewDelegate {
}
iOS Swift 相机步骤与注意事项
第一步:初始化 AVCaptureDevice
let capDevice = AVCaptureDevice.default(for: .video)
第二步:初始化 设备会话管理器 管理输入输出
let capDevicetureSession = AVCaptureSession.init()
///设置
capDevicetureSession?.canSetSessionPreset(AVCaptureSession.Preset.init(rawValue: “AVCaptureSessionPreset1280x720“))
capDevicetureSession?.sessionPreset = AVCaptureSession.Preset.init(rawValue: “AVCaptureSessionPreset1280x720“)
第三步:初始化相机设备输入流
do {
///初始化输入流
let capDeviceInput= try AVCaptureDeviceInput.init(device:capDevice!)
///添加输入流
if capDevicetureSession?.canAddInput(capDeviceInput!) == true {
capDevicetureSession?.addInput(capDeviceInput!)
}
} catch {
print(“相机初始化失败“)
}
第四步: 拍照 初始化照片输出流
///初始化照片输出流
let capDeviceImgOutput = AVCapturePhotoOutput.init()
///添加输出流
if capDevicetureSession?.canAddOutput(capDeviceImgOutput!) == true {
capDevicetureSession?.addOutput(capDeviceImgOutput!)
}
第五步:录像 初始化视频输出流
///初始化视频数据输出流
let capDeviceVideoOutput = AVCaptureVideoDataOutput.init()
///添加输出流
if capDevicetureSession?.canAddOutput(capDeviceVideoOutput!) == true {
capDevicetureSession?.addOutput(capDeviceVideoOutput!)
}
capDeviceVideoOutput?.alwaysDiscardsLateVideoFrames = true //kCVPixelBufferPixelFormatTypeKey
capDeviceVideoOutput?.videoSettings =
capDeviceVideoOutput?.setSampleBufferDelegate( self , queue:DispatchQueue.init(label:“video“))
第六步:因为录像肯定还需要同步录制音频所以初始化音频的输入 输出
因为音频不能用上面的相机device所以
///初始化麦克风设备
let audioDevice =AVCaptureDevice.default(for: .audio)
do {
// Wrap the audio device in a capture device input.
capDeviceAudioInput= try AVCaptureDeviceInput(device: audioDevice!)
// If the input can be added, add it to the session.
if capDevicetureSession!.canAddInput(capDeviceAudioInput!) {
capDevicetureSession!.addInput(capDeviceAudioInput!)
}
} catch {
print(“麦克风失败“)
}
///初始化音频输出流
let capDeviceAudioOutput= AVCaptureAudioDataOutput.init()
if capDevicetureSession!.canAddOutput(capDeviceAudioOutput!){
capDevicetureSession!.addOutput(capDeviceAudioOutput!)
}
capDeviceAudioOutput?.setSampleBufferDelegate( self , queue:DispatchQueue.init(label:“audio“))
第七步:初始化视频连接器
let videoConnection = capDeviceVideoOutput?.connection(with: .video)
videoConnection?.automaticallyAdjustsVideoMirroring = false
//设置视频输出方向
videoConnection?.videoOrientation = .portrait
//判断是否支撑视频稳定 可以显著提高视频的质量 只会在录制视频文件涉及到
if videoConnection!.isVideoStabilizationSupported {
videoConnection?.preferredVideoStabilizationMode = .auto
}
第八步:最重要的一步:将所有的输入输出流都添加到设备会话管理器
前面几步已经添加了
最后就是初始化预览相机的视图了
///初始化相机输出流预览图层
let capDevicePreViewLayer = AVCaptureVideoPreviewLayer.init(session: capDevicetureSession!)
capDeviceContentView=SYDIYCameraContentView.init(frame: preViewLayerFrame)
capDevicePreViewLayer?.frame=CGRect.init(x:0, y:0, width: preViewLayerFrame.size.width, height: preViewLayerFrame.size.height)
capDevicePreViewLayer?.videoGravity = .resizeAspectFill
然后开启会话管理器启动设备运行
capDevicetureSession?.startRunning()
注意事项就是:所有设置必须在会话管理器启动前初始化并且设置,不然拍照 和 录像 会有很多小问题
ios 怎么在xcode里改成swift
xcode集成开发环境是运行于Mac苹果电脑上用于开发swift应用程序的工具,利用xcode可以很方便、直观的开发OS X和iOS系统所支持的应用程序。下面小编与大家一起分享一下利用xcode开发swift程序的具体方法。
方法/步骤
-
首先,必须在苹果Mac电脑上搭建xcode开发环境。
-
打开“xcode”开发工具,点击“File”-》“New”-》“Project”项来创建一个新的工程。
-
接着在打开的“创建工程”向导界面中,选择“OS X”系统中的“Application”项,选中“Command Line Tool”项,点击“Next”按钮来创建一个基于OS X系统的命令行应用程序。
-
接着输入“Project Name”(工程名称)和“Language”(语言),特别的在此选择使用“swift”语言进行创建应用程序,点击“Next”按钮。
-
然后直接点击“Create”按钮创建应用程序。
-
在程序开发界面中,点击左侧的“main_swift”项,就可以打开主程序编程窗口。
在此窗口中,只有一条语句:“println(“Hello,World!“)”
该语句的功能是在输出窗口中显示“Hello,World!”字样。
-
点击界面左上角的“运行”按钮,然后就可以在输出窗口中看到输出结果啦。
-
接下来就可以在此输入程序代码,开启编程之旅啦。
Swift Package Manager iOS 使用教程
SPM (Swift Package Manager),Apple 官方推出的包管理机制,在
Swift 3.0 版本中被引入,支持 macOS 和 Linux。在 Xcode 11 发布的时候,通过于 libSwiftPM 集成来支持 iOS、watchOS 和 tvOS 平台。
由于官方网站和网上针对 iOS 支持的文章不多,通过整合各方资料和探索研究,整理了这份文档。
通过 Xcode 的向导创建一个简单的 iOS 工程,如下图所示:
通过菜单 File -》 Swift Packages -》 Add Package Dependency… 添加第三方 package。
配置中多了 Swift Packages 选项卡:
Targets 中已经自动添加链接:
通过菜单 File -》 New -》 Swift Package… 来创建本地 package:
经过测试,这一步非必须
包括应用、本地文件、链接等。
添加远端(按照第 2 步):
本文主要记录了主要的试验步骤,写的很是简略,如有不足,请大家不吝赐教,不胜感激!
如何用swift开发ios应用
1打开本系列第一篇经验中所创建的「PersonalAccounts」应用。
2在左侧项目结构树中,打开「Main.storyboard」文件
3当打开「Main.storyboard」文件后,我们会在中间的主面板中看到一个带有「View Controller」字样的长的很像手机屏幕的“东西”。
4这个东西就是我们“画”应用界面的主要“控件”。
5默认的,我们可以在Xcode窗口的右下方找到所有Xcode现有的“控件”,它们在一个叫「Show the Object library」的窗口中。所有我们需要的,都可以从这个窗口中拖到主面板中的某个「Controller」上。
iOS Swift5.0 WKWebView使用JS与Swift交互
1.创建wkwebview
2.ViewController实现两个协议
两个协议分别是:WKNavigationDelegate WKScriptMessageHandler
WKNavigationDelegate:判断页面加载完成,只有在页面加载完成了,才能在swift中调webview中的js方法
WKScriptMessageHandler: 在webview中给swift发消息时要用到协议中的一个方法来接收
3.Swift调用WebView中的JS方法
4.拦截WebView中给Swift发消息
本文参考: https://tomoya92.github.io/2018/07/05/swift-webview-javascript/ ,更多方法交流可以家魏鑫:lixiaowu1129,一起探讨iOS相关技术!