iosswift教程

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程序的具体方法。

方法/步骤

  1. 首先,必须在苹果Mac电脑上搭建xcode开发环境。

  2. 打开“xcode”开发工具,点击“File”-》“New”-》“Project”项来创建一个新的工程。

  3. 接着在打开的“创建工程”向导界面中,选择“OS X”系统中的“Application”项,选中“Command Line Tool”项,点击“Next”按钮来创建一个基于OS X系统的命令行应用程序。

  4. 接着输入“Project Name”(工程名称)和“Language”(语言),特别的在此选择使用“swift”语言进行创建应用程序,点击“Next”按钮。

  5. 然后直接点击“Create”按钮创建应用程序。

  6. 在程序开发界面中,点击左侧的“main_swift”项,就可以打开主程序编程窗口。

    在此窗口中,只有一条语句:“println(“Hello,World!“)”

    该语句的功能是在输出窗口中显示“Hello,World!”字样。

  7. 点击界面左上角的“运行”按钮,然后就可以在输出窗口中看到输出结果啦。

  8. 接下来就可以在此输入程序代码,开启编程之旅啦。

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相关技术!