A. 如何使在Swift中使用UIScrollView进行滚动和缩放
UIScrollView是IOS中非常有用的一个组件。它是通用组件UITableView的基类也是放置尺寸大于一个屏幕的内容时很好的组织方式。本教程会介绍UIScrollView的下列用法:
如何使用UIScrollView浏览大尺寸图片。
如何在缩放时保持UIScrollView中的内容居中.
如何在UIScrollView中嵌入复杂的显示层次关系。
如何使用UIScrollView的分页(paging)特性, 联合使用UIPageControl在不同页面之间移动。
通过“偷窥”UIScrollView得到前一页,后一页还有当前页的缩略图。
其他内容!
本文假设你熟悉Swift语宽神禅言和IOS开发。如果你完全是一名初学者, 你可能需要先学习一下本站的其他课程。
本文还假设你知道如何使用Interface Builder在view中添加对象和在你的代码和Storyboard连接outlets。 如果你刚刚接触Storyboards和Interface Builder, 你可以在开始本教程之前线学习一下本站的Storyboards教程。
开始
打开Xcode创建工程。选择File\New\Project…, 接下来选择iOS\Application\Single View Application模版。 在proct name输入框中输入ScrollViews, language选择Swift, devices选择 iphone.
单击Next选择工程文件的保存位置。
之后下载工程的资源压缩包, 然后将解加压后的文件拖拽到工程的根目录。并确保选中了“Copy items if needed”复选框。
本文会介绍Scroll view 的四种不同使用瞎脊方式, 工程采用一个tableview来提供这四个选项。每个选项打开一个新的视图控制器(慎尘view controller)来展示scroll views的一种用法。
下图展示了完成时storyboard的状态:
通过下列步骤创建一个tableview:
打开Main.storyboard删除当前场景。 选择view controller (单击 storyboard) 然后删除它。
关闭Auto Layout功能。在Utilities面板中选择File Inspector, 取消Use Auto Layout复选框的选中状态。这会弹出一个警告窗口。在弹出窗口中确保“Keep size class data for:”选中了iPhone。然后选择Disable Size Classes。
接下来, 添加一个Table View Controller,从Object Library中拖拽一个Table View Controller到storyboard。
选中刚添加的table, 然后在菜单中选择Editor\Embed In\Navigation Controller。
同时选中table view和table view controller, 将Attributes Inspector中的content type修改为Static Cells(如下图所示)。
在文档概要视图中Table View单击下面的按钮显示storyboard层次关系视图,然后选中Table View Section. 将行数设置为4。如下图所示
依次编辑table view的每一行, 将style设置为Basic,编辑显示的标签:
Image Scroll
Custom View Scroll
Paged
Paged with Peeking
注释: 由于你将每一行的style设置成了“Basic”, 表单的每一行会出现额外的标签子组件。你要再次展开每行的子项目来进行编辑。
保存storyboard, 之后构建并运行。你会看到你编辑的table view如下图所示.不过现在table view中还没有任何东西 – 但你可以改好它!
B. iOS Swift 相机步骤与注意事项
第一步:初始化 AVCaptureDevice
let capDevice = AVCaptureDevice.default(for: .video)
第二步:初始化 设备会话管理器 管理输入输出
let capDevicetureSession = AVCaptureSession.init()
///设置
capDevicetureSession?.canSetSessionPreset(AVCaptureSession.Preset.init(rawValue: ""))
capDevicetureSession?.sessionPreset = AVCaptureSession.Preset.init(rawValue: "")
第三步:初始化相机设备输入流
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 //
capDeviceVideoOutput?.videoSettings = [String():kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]
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?. = false
//设置视频输出方向
videoConnection?.videoOrientation = .portrait
//判断是否支撑视频稳定 可以显著提高视频的质量 只会在录制视频文件涉及到
if videoConnection!.isVideoStabilizationSupported {
videoConnection?. = .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()
注意事项就是:所有设置必须在会话管理器启动前初始化并且设置,不然拍照 和 录像 会有很多小问题
C. 求李明杰老师iOS开发完整版教学视频!希望有项目开发和游戏开发!!!
没有,网上的都是不完整的。你别傻了。都是传智的学生故意流出来的。我也是他内的学生。第几期不说了。容。
前面还好,中后期全部代码都有故意删减的。视频也是,一集有一集没有。而且资源PPT都没有。还有几期是加密视频,根本没法破解。。
他经常教学生伪造简历。。搞到很多人抵制他。他现在自主创业了,自己开了个培训班。在广州天河区。有赞有骂。说授课的内容装逼。。MJ不算什么大牛,他也没说过是什么大牛。。欧阳坚,李刚,尹成等我认为非常牛逼的人物也不敢说自己是大牛。。
D. swift 教程 swift介绍
1、要使用swift须拥有一台苹果电脑。因为集成开发环境XCode只能运行在OS X系统上。电脑系统必须在OS 10.9.3及以上,电脑必须安装Xcode集成开发环境。
2、下载完成后,双击下载的 dmg 文件安装,安装完成后我们将 Xcode 图标踢移动到应用文件夹。Xcode 安装完成后,就可以开始编写 Swift 代码了。接下来我们在应用文件夹打开 Xcode,打开后在屏幕顶部选择 File => New => Playground。接着 为 playground 设置一个名字并选择 iOS 平台。
3、如果你想创建 OS x 程序,需要导入 Cocoa 包 import Cocoa以上程序载入后,会在Playground 窗口右侧显示程序执行结果。
4、选择一个Single View Application,并点击next,创建一个简宽谈单示例app应用。
5、接着我们输入项目名称(ProctName),公司名称(Organization Name),公司标识前缀名(Organization identifier) 还要选择开发语言(Language),选择设备(Devices)。其中Language有两个选项:Objective-c和swift,因为我们是学习swift当然选择swift项了。 点击Next下一步。
6、选择存放的目录,如果要使用Git源代码管理,将勾上Source Control的create git repository on My Mac. 点击create创建项目。
7、项目创建后,默认生成了一个示例文件,可以看到swift将oc中的h和m文件合并成了一个文件粗芹(即swift后缀名文件). Main.storyboard相当于xib文件,有比xib更多的功能。
8、打开main.storyboard,默认看到一个简单的空白的应用界面,大小为平板界面大小。 如果开发都只需要开发兼容iphone手机的app,那么可以把Use Auto Layout的勾去掉(默认为勾上)。弹出了一个对话框,让我们选择界面尺寸,iPhone 或 iPad。我们选择iPhone的尺寸。
9、界面添加点内容,在右下方找到Text控件,将它拖入storyboard上,并双击写入文本Hello World!
10、运行一下模拟器(command+R 快捷键或在菜单栏中选择 Proct => Run)。
至此,第一个Swift项目就完成了。
10、swift介绍
《Swift》是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序。 Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。 Swift 在 Mac OS 和 iOS 平台可以和 Object-C 使用相同的运行环境。 2015年6月8日,苹果于WWDC 2015上宣布,Swift将开放源代码,包括编译慎凳碰器和标准库。
Swift 是一种全新的编程语言,结合了 C 和 Objective-C 的优点,并且不受C兼容性的限制。Swift 采用的安全编程模式添加了很多新特性,这使得编程更简单,更灵活,也更有趣。Swift 在 Foundation 和 Cocoa的基础上构建框架,并且采用了很多 Objective-C 的命名参数以及动态对象模型,并且支持过程式编程和面向对象编程。Swift 将现代编程语言的精华和苹果工程师文化的智慧结合了起来,既能够开发简单的小程序,也能够构建出一套完整的操作系统。
E. SWIFT的学习入门
Swift是苹果公司在2014年6月发布的全新开发语言,WWDC2014发布会从演示视频及随后在appstore上线的标准文档看来,语法内容混合了OC,JS,Python,并可与Objective-C(Apple操作系统在导入Swift前使用的编程语言)共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。
2015年,苹果宣布开源Swift,这门语言进去高速发展时期,每一次大版本迭代,使得很多东西需要重新学习,让开发者高兴地是,迭代更新升高了岗位门槛、也会淘汰掉一部分竞争者,变相提高自己的只能地位,但一不小心,自己没有学习力又会落后。
不过,好在前不久苹果公司发布了Swift5,ABI终于相对稳定,往后语法应该不会有太大变动。
Swift有许多其他的功能,使你的代码更传神:闭包的统一与函数指针、元组和多个返回、泛型、快速而简洁的迭代范围或集合、支持的方法,扩展的协议结构。
随着苹果手机的普及也就意味着果粉儿是个庞大的消费群体,而其程序所需支撑的编程语言也就非常重要,这也是Swift会持续受到关注和学习的原因。小码哥李明杰推出了关于Swift的相关课程,有兴趣的小伙伴可以去看一下。
要说入门学习首先需要你是iOS开发人员,毕竟这是基于苹果系统的编程语言;另外就是有态度、愿意花时间;可以的话,有一起学习的搭档;如果急需入门,或许也可以求教有经验的同事甚至是专业的老师。
F. swift 如何判断点击的是哪个tabbar
本月初苹果公司在WWDC大会上发布了最新编程语言Swift,Swift语言的发布对于开发者们来说无疑是一项重大的变革。Swift语言的未来发展必将一片光明,想要学习Swift语言的程序猿们赶紧看过来吧!
这套Swift语言视频教程是针对有Objective-C/iOS基础,想转成Swift开发的程序猿们而录制的,视频中从编程语言Swift的语法,结构体,面向对象,继承,闭包到Swift作为iOS开发的UI,地图,网络进行一系列讲解。
视频教程中包含了Swift语法:如何使用Swift进行UI导航控制器,TabBarController,代理设计模式,反向传值,TableView,网络,AFNetworking,图片缓存,Objective-C和Swift进行相互调用的详细讲解。