swift
文章平均质量分 55
海阔任月飞
眼看千遍,不如手动一遍,立即行动....
展开
-
Swift之无限循环控件开发
无限循环控件是一个常常用到的一个控件,尤其是一些广告或者应用内容公告通知,或者新闻滚动的设计,都是必备的。这种控件网上也有很多,也有很多可以自定义的版本,功能非常强大。但对于我们开发者来说,在具体的应用上风格和样式都是比较统一的,一般只需要自己特定的一种风格或样式即可,引入第三方显然有点大材小用。那么我们怎么能简单而且又快速的造一个无限循环的控件呢,只要我们知道无限循环的原理,那么我们就很自由的按照需求快速的完成。今天我们就讲讲这个‘造轮’过程。首先我们简单分析一下无限循环的原理。一个控件的自带滚动有.原创 2020-07-25 14:40:06 · 554 阅读 · 0 评论 -
swift 5.1 Json转换之Codable
对于开发的人员来说,接受后台的数据,并转换成自己的数据模型是常见的事情。但是作为苹果开发者,并没有一个很好的工具去直接转换,必须借助与第三方的开发的库。那么比较好用的有YYModel、MJExtension。当然还有其他的库。但是有个问题,对于第三方库,如果使用过多对于我们开发者来说并不是一件好事。简单分析一下:优点:功能强大,使用方便,提高开发效率,相对较安全出现bug几率较...原创 2020-05-02 14:53:46 · 2184 阅读 · 1 评论 -
Swift、C和C 混编(二)
上一篇写了Swift、C、C++混合调用的情况,对于这些简单的调用我想大家已经有了基本的技能了。那么接下来我们在来看看怎么在swift里使用c数组。对于这个数组。对于指针我们可以直接赋值,并且也可以直接读取,那么对于数组呢,也是这样么。我们来看看。怎么样读取。测试环境:xcode: 11.1 swift 版本: 5.0我们先创建一个工程命名为SwiftDemo。然后我们创建一...原创 2019-10-24 11:14:37 · 255 阅读 · 0 评论 -
iOS NSNumberFormatter 数字格式化
iOS中的数字格式化处理,系统有一个非常好用的类NSNumberFormatter,但是在swift去掉了NS前缀NumberFormatter,用法是一样的,今天我们就来讲一下这个的用法。 NumberFormatter.style数字格式 none四舍五入 举个栗子: let number = 123.456;let numberstring = NumberForma...原创 2019-04-18 14:04:38 · 3472 阅读 · 0 评论 -
swift 4.2 仿新闻首页导航
对于仿照新闻首页的页面,已经有比较好用的OC版本,现在我们来写一个swift版本的。设备:xcode 10.2 语言:swift 4.2效果图:我们先创建一个多控制器的导航栏,直接上代码://// JHSBarItemView.swift// ScrollBarController//// Created by yaojinhai on 2019/4/1...原创 2019-04-16 14:58:12 · 428 阅读 · 0 评论 -
iOS 仿微信朋友圈实现
下面讨论一下微信朋友圈的实现方式。先分析结构,和布局。微信朋友圈,看起来很有秩序,而且滑动的时候也不卡,应用的非常好。对于微信朋友圈的样式,我们可以大致分成以下6种类型。纯文字类型 单张图得显示 多张图得显示(按照九宫格排练) 链接类型 视频类型 广告类型那么我们需要分析每种类型的布局有什么共同点,和不同点。每种类型都是有一个头像和一个姓名,这个是必须的,我们可以封装到父类...原创 2019-03-29 10:20:12 · 7674 阅读 · 2 评论 -
iOS 文字掉落效果 CATextLayer
对于每个文字的处理是很复杂的一个工作,今天我们就先说一个文字掉落的效果,先看张效果图。这个是通过NSTextStorage,NSLayoutManager,NSTextContainer以及CATextLayer实现的。我们先看代码:设备:xcode 10.1语言:swift 4.2NSTextStorageNote for subclassing NSTextS...原创 2019-04-11 11:28:39 · 914 阅读 · 0 评论 -
swift for 循环
在swift 4.2 中已经舍弃了传统的C语言的for;;循环,替换成更能符合本身语言特性的新形式。第一种 for - in这一种是最常用的,可以遍历所有的集合类。如下:func testFor(){ let list = [1,2,3,4]; for idx in list { print("idx =\(idx)"); } let...原创 2019-03-19 16:24:10 · 18991 阅读 · 1 评论 -
iOS 上传图片和下载网络数据封装Swift
导语:下载数据和上传图片是每个开发人员必备的技能,也是最基本的.网上有很多优秀的第三方工具,我们常用的有AFN,YTKNetwork,Alamofire等,这些都是封装很好的,虽然需要研究一下,但是确实很好用.但是,我们用这些框架也有几个问题需要考虑一下,这些功能都很强大,但是我们真正用到的却少之又少,有点得不偿失. 如果版本不合适,需要更换版本,成本也可能会高 当出现bug的时候...原创 2019-02-26 12:19:37 · 652 阅读 · 0 评论 -
Swfit 获取设备信息
获取设备信息 swift 版本extension UIDevice { var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine)...转载 2019-02-18 11:53:22 · 166 阅读 · 0 评论 -
打印 text
打印很简单 就这个一个方法即可:直接上代码class func printText(text: NSAttributedString) -> Void { let print = UIPrintInteractionController.shared; print.printInfo = UIPrintInfo.printInfo(); ...原创 2018-05-16 16:12:49 · 237 阅读 · 0 评论 -
swift 4.0 MD5 加密
之前写过一个 swift md5 加密的的文章很短,很短,但是很实用,有的朋友说有问题不能运行,这里我先声明我的xcode9.3的 这个版本截止到目前是最新的,我这个是没问题的.那么我总是感觉那个方法还有点oc的味道,所以今天就改成完全是swift 版本.直接上代码:var MD5String: String { let cStrl = cString(using: String.E...原创 2018-05-07 12:08:20 · 4518 阅读 · 0 评论 -
swift 4.0 UnsafeMutablePointer<ObjCBool> 的初始化
关于C布尔值在swift 里的初始化问题,这个有两种: 第一种:var pointer = ObjCBool.init(false); if file.fileExists(atPath: absPath, isDirectory: &pointer) { if !pointer.boolValue { ...原创 2018-05-07 11:25:07 · 8142 阅读 · 0 评论 -
iOS 渐变文字效果
func setGradientText() -> Void { titlDb = createLabel(rect: CGRect.init(x: 0, y: 0, width: 100, height: 100), text: "这是一个label"); titlDb.textColor = UIColor.green; tit原创 2017-08-30 15:50:33 · 571 阅读 · 0 评论 -
iOS CALayer mask 属性
/* A layer whose alpha channel is used as a mask to select between the* layer's background and the result of compositing the layer's* contents with its filtered background. Defaults to nil. When use原创 2017-08-30 14:49:09 · 480 阅读 · 0 评论 -
iOS 读取相册二维码
iOS读取相册二维码请使用官方的方法.现在开始练习起来.func beginQRImage(image:UIImage) -> Void { let detector = CIDetector(ofType: CIDetectorTypeQRCode, context: nil, options: [CIDetectorAccuracy: CIDetector原创 2017-06-22 11:58:01 · 917 阅读 · 0 评论 -
iOS UINavigationBar 完全透明的方法 超级实用
UINavigationBar 是我们常用的导航栏,有时候需要一个全部透明的效果,并且还需要左右显示出来,其实网上也有很多方法,这里就有一个链接这个方法确实很有用但是还是有点复杂,有一个简单的方法。let naBar = UINavigationBar.appearance();naBar.isTranslucent =true;naBar.setBackgro原创 2017-06-21 10:07:44 · 7565 阅读 · 0 评论 -
NSClassFromString swift3.0的坑
swift.3.0 的版本使用对于NSClassFromString的应用oc版本很简单,而且也不用担心报错或者提示.但是swift 就有点麻烦了首先 NSClassFromString 的参数不只是一个单独的类字符串,而是一个完整的包名加类名组成的字符串,也就是包类名字符串.所以应该这么写:let model = NSClassFromString("包名.类名") as! NS原创 2017-02-11 13:56:48 · 2684 阅读 · 0 评论 -
swift 3.0适配
为了适配swift 3.0,又要大费周折的从网络上找文章了.不过这样的文章已经很多了.下面我找到几个比较好的文章,可以和大家分享一下.接下来就要验证这些文章是否真确,是否高效.等待自己的伟大小白鼠.... Swift 3 迁移工作总结 http://www.cocoachina.com/swift/20161013/17736.html适配 Swift 3 的一点小经验原创 2016-10-24 16:14:25 · 624 阅读 · 0 评论