iOS
文章平均质量分 68
mo_xiao_mo
简单的生活
展开
-
iOS开发:粘性动画以及果冻效果的实现
在最近做个一个自定义PageControl——KYAnimatedPageControl中,我实现了CALayer的形变动画以及CALayer的弹性动画,效果先过目:先做个提纲:第一个分享的主题是“如何让CALayer发生形变”,这个技术在我之前一个项目 ———— KYCuteView 中有涉及,也写了篇简短的实现原理博文。今天再举一个例子。之前我也做过转载 2016-09-22 13:44:59 · 1033 阅读 · 0 评论 -
使用CAShapeLayer来实现圆形图片加载动画
下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形渐现动画结合。这个组合的效果有趣,独一无二和有点迷人。这个教程将会教你如何使用Swift和Core Animatoin来重新创建这个效果。让我们开始吧!基础首先下载这个教程的启动项目,然后编译和运行。过一会之后,你应该看到一个简单的image显示:这个启动项目已经预先在恰当的位置将views和加载转载 2016-11-07 19:45:53 · 538 阅读 · 0 评论 -
swift-集成touch id功能 指纹验证
在这里写了一个指纹验证的类,公开了一个类方法来自定义输入提醒用户的内容,随时调用即可完成touch id验证功能1 新建一个类文件:fingerUnlock继承于NSObject就可以2 在这个文件中导入需要的系统框架 import LocalAuthentication3 直接粘代码就OK,下面这个方法是自己随便写的一个类方法 主要是为了输入提醒文字并验证class原创 2016-11-09 13:46:45 · 1511 阅读 · 0 评论 -
Swift - Framework的制作与使用教程1(纯Swift实现)
在开发中我们常常会用到一些第三方 SDK 库,使用时只需将 framework 文件添加到项目中即可,十分方便。同样地,我们也可以创建自己的 framework 框架,用来封装一些常用的工具方法、框架类等。一来不会使源代码完全暴露在外,二来也便于代码复用。下面演示如何制作一个自定义的图片处理框架,用来实现 UIImage 的高斯模糊与马塞克化。效果图如下:一、fra转载 2016-11-10 09:49:25 · 4372 阅读 · 0 评论 -
Swift - 去除Xcode8控制台中多余的打印信息
1,问题描述将 Xcode 升级成 8.0 后,发现只要一运行程序,控制台就自动打印输出一堆信息,看着不爽。如果应用里还有我们自己的打印日志,那混在一起也不方便查看。2,解决办法(1)点击菜单的:Product -> Scheme -> Edit Scheme...(或者使用快捷键 command + shift + )转载 2016-10-08 09:16:32 · 1547 阅读 · 0 评论 -
Swift - 内联序列函数sequence介绍(附样例)
Swift 3 新增了两个全局函数:sequence(first: next:) 和 sequence(state: next:)。使用它们可以返回一个无限序列。我们可以给他们一个初始值,或者初始状态,然后他们便会以懒加载的方式应用到一个闭包。下面通过样例分别演示这两个函数如何使用。1,sequence(first: next:)介绍1转载 2016-10-08 09:47:00 · 3609 阅读 · 0 评论 -
Swift - Framework的制作与使用教程2(引用第三方库
在我们创建的自定义框架中,也是可以再引用其它第三方的框架库。本文以实现一个网络定时请求的 framework 为例,其内部使用到了 Alamofire。关于 Alamofire 的详细介绍,可以参考我之前写的这篇文章:Swift - HTTP网络操作库Alamofire使用详解1(配置,以及数据请求)一、framework的制作(引用第三方库 )1,创建framework工程项转载 2016-11-11 13:56:10 · 1897 阅读 · 0 评论 -
iOS 10 UICollectionView 性能优化
前言关于 iOS 10 UICollectionView的新特性,主要还是体现在如下3个方面顺滑的滑动体验现在基本上人人都离不开手机,手机的app也每天都有人在用。一个app的好坏由它的用户体验决定。在可以滑动的视图里面,必须要更加丝滑柔顺才能获得用户的青睐。这些UICollectionView的新特性可以让你们的app比原来更加顺滑,而且这些特性只需要你加入少量的代码即可达到目的转载 2016-11-12 13:36:53 · 11207 阅读 · 0 评论 -
iOS开发 iOS10推送必看(基础篇)
iOS开发 iOS10推送必看(基础篇)字数1380 阅读2685 评论52 喜欢80iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说。希望看完我的这篇文章,对大家有所帮助。一、简单入门篇---看完就可以简单适配完了相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配。1.首先我们需要转载 2016-11-12 10:57:12 · 344 阅读 · 0 评论 -
Swift仿淘宝App选择颜色分类弹出view效果
先来张图让小伙伴们看一眼, 是不是效果很不错.自制做效果图主要有四个View黑色 XtPopViewController的self.view的颜色白色 主控制器self.view颜色在白色View上方 有个透明度为0.5的view 进行遮挡. (maskView)下方的灰色View (popView1)不多说直接上代码let screen_Width = U原创 2016-11-07 14:26:29 · 1736 阅读 · 0 评论 -
Swift - Swift 3 新特性汇总(不同于以往版本的新变化)
之前 Apple 在 WWDC 上已将 Swift 3 整合进了 Xcode 8 beta 中,而本月苹果发布了 Swift 3 的正式版。这也是自 2015 年底Apple开源Swift之后,首个发布的主要版本(Swift 3.0),该版本实现了 Swift 演变过程中所讨论并通过的90多个提议。这里我对 Swift 3 的新特性、新变化进行一个总结。转载 2016-09-28 18:54:32 · 5102 阅读 · 0 评论 -
Swift - 如何让应用支持IPv6-only网络(附:搭建IPv6测试环境)
App Store 自2016年6月1日开始实施全新策略,所有提交至苹果 App Store 的 iOS 应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议:IPv6-only 标准。一、IPv4与IPv6介绍1,二者的区别(1)IPv4 是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,目前运用最多的互联网技术协议。转载 2016-09-26 17:50:02 · 3496 阅读 · 0 评论 -
iOS每日一记------------之 中级完美大整理
iOS、mac开源项目及库汇总UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件。SVPullToRefresh – 下拉刷新控件。MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshC转载 2016-09-22 13:48:09 · 1975 阅读 · 0 评论 -
Swift - 文本框textView图文混排的实现(附样例)
我们使用文本框(UITextView)时,除了输入文字外,可能还会想在里面插入一些图片。或者有一些图文混排的内容需要展示出来。 这个只需要通过 textView 的属性化文本即可实现。j将图片以附件的形式插入即可。本文通过样例演示如何实现 textView 的图文混排,同时还可以选择插入图片的模式,是保持原图大小,还是自适应尺寸(这些可以混合使用的。)1,效果图(1)不改变插入图片转载 2016-09-22 14:10:46 · 2108 阅读 · 0 评论 -
Swift - 图片循环轮播组件的实现(附样例)
图片的无限循环轮播功能常常用在广告或者新闻展示上面,本文演示如何实现一个 iOS 系统下的图片轮播组件。1,组件功能介绍(1)每隔一段时间,轮播器就会自动滚动到下一张图片。如果当前是最后一张图片的话,则又滚动回第一张图片。这样无限循环下去。(2)在组件下方位置有页控制器(小圆点),显示图片数量和当前的位置。(3)除了自动轮播,我们还可以通过手动滑动组件来显示上一张,转载 2016-09-26 09:28:41 · 5962 阅读 · 0 评论 -
Swift - 动画效果的实现方法总结(附样例)
在iOS中,实现动画有两种方法。一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations。这三个方法都是类方法。一,使用animateWithDuration来实现动画(1)此方法共有5个参数:duration:动画从开始到结束的持续时间,单位是秒delay:动画开始前等待转载 2016-09-26 09:38:20 · 2501 阅读 · 0 评论 -
Swift - 使用ijkplayer框架播放直播视频1(RTMP/HTTP视频流播放)
BiliBili(简称B站),想必大家都不陌生。Ijkplayer 框架是B站提供了一个开源的流媒体解决方案,集成了 ffmpeg,还支持硬解码(需 iOS8 以上版本)。使用 Ijkplayer 框架我们可以很方便地实现视频直播功能(Http/RTMP/RTSP 这几种直播源都支持)。本文主要介绍如何使用 Ijkplayer 框架播放在线直播视频(当然其本地播放能力也很强大)。对于几种直转载 2016-09-26 17:34:12 · 1493 阅读 · 0 评论 -
Swift - 使用EventKit操作"提醒事项"(2、新增、修改、删除提醒)
1,添加提醒下面样例中,填写提醒内容、选择提醒时期后,点击“保存”即可将提醒添加到系统的“提醒事项”中。(这里我将日期输入框的 inputView 设置成 UIDatePicker,这样点击日期文本框的时候底部会自动出现日期选择器来选择时间。) 1234567转载 2016-09-26 17:35:50 · 1720 阅读 · 0 评论 -
Swift - 企业帐号进行IPA的打包、分发、下载安装的详细流程
1,企业帐号介绍(1)使用企业开发帐号,我们可以发布一个 ipa 放到网上,所有人(包括越狱及非越狱设备)都可以直接通过链接下载安装,而不需要通过 AppStore 下载,也不需要安装任何证书。(2)当然,使用企业帐号发布的 iOS 应用是不能提交到 AppStore 上的。而且企业级开发账号也比个人帐号更贵些(299刀/年)。(3)既然叫企业帐号,就说明是用来开发企业自己的内部应用,转载 2016-09-26 17:47:35 · 979 阅读 · 0 评论 -
Swift - 真机调试正常,打包成IPA安装后一启动就闪退的问题解决
问题描述:最近开发一个企业级的 iOS 应用。在模拟器上面运行是的正常,不打包直接连真机进行调试也是没问题。但是打包成 ipa 发布到服务器上,手机通过网页下载安装。App启动后就直接闪退。问题原因: 这个其实是程序确实有bug(不管是个人应用、还是企业应用)。虽然平时使用模拟器调试是没问题,但用的都是 debug 模式,这个和 release 模式还是有区别的。转载 2016-09-26 17:48:50 · 4097 阅读 · 0 评论 -
Xcode 8 的 6 大新功能一览
在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode, 在过去的每一次大版本发布中,苹果都会积极地改进开发工具,添加一些极具吸引力的新功能,今年也不例外。1. Swift 2 and 3过去每一版的Xcode 都和固定版本的Swift编程语言绑定在一起, Xcode 8中将不再如此,Swift 3给 Swift编程语言带转载 2016-11-12 10:56:35 · 312 阅读 · 0 评论 -
兼容iOS 10 _升级xcode8_适配(四)
1.Notification(通知)自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到 UserNotifications 的易用,功能也变得非常强大。iOS 9 以前的通知1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。2.应用在运行时和转载 2016-11-12 10:55:46 · 311 阅读 · 0 评论 -
兼容iOS 10 _升级xcode8_适配(三)
1推送 xcode 升级到8之后很多人的推送接收不到了.获取不到token了 一朋友搞了一小时没找到原因. 只因看下图吧....我发觉xcode 我不打开他也能收到通知. 但是到了8(必须打开了才能收到推送) . 貌似不行了 大家对号入座吧.下面普及下ios10跟之前的推送的区别iOS 9 以前的通知 1.在调用方法时,有些方法让人很难区分,容易写转载 2016-11-12 10:55:03 · 335 阅读 · 0 评论 -
Swift - 实现日志输出的封装1(显示出调用的文件名、方法、行号)
在开发调试程序时,我们少不了使用 print 方法进行日志打印。当然简单地调试使用 print 方法就够了,但如果日志输出的地方很多,就不好区分出每条日志具体是在哪里打印的。本文对日志打印功能做个封装,自动实现日志信息的格式化。1,效果图从下图可以看出,控制台除了输出我们指定的日志内容外,还会自动记录日志触发点的文件名、函数名、行号。2,转载 2016-12-16 09:51:40 · 3003 阅读 · 0 评论 -
Swift - 如何连续dismiss 2个VC视图控制器(以及直接跳回根视图)
我们知道通过 present 和 dismiss 方法可以进行页面(ViewController)跳转。其中 present 是加载新的模态视图,而 dismiss 是退出当前视图,回到上一个视图。但有时我们并不想要一级一级地往回跳,比如需要跨级跳转,或者直接跳回到根页面上。下面通过样例分别进行演示。一、连续dissmiss两个视图比如下面样转载 2016-12-14 09:17:35 · 4401 阅读 · 0 评论 -
Swift - 第三方日历组件CVCalendar使用详解1(配置、基本用法)
CVCalendar 是一款超好用的第三方日历组件,不仅功能强大,而且可以方便地进行样式自定义。同时,CVCalendar 还提供月视图、周视图两种展示模式,我们可以根据需求自由选择使用。一、安装配置(1)从 GitHub 上下载最新的代码:https://github.com/Mozharovsky/CVCalendar(2)将下载下来的源码包中 CVCalendar.xcode转载 2017-01-03 09:32:58 · 4612 阅读 · 0 评论 -
Swift - 在TableViewCell中获取父TableView(附:获取任意类型的父View)
一、在TableViewCell里获取对应的TableView有时我们需要在自定义的单元格(tableViewCell)中获取其所在的表格(tableView)对象。除了可以从外部把 tableView 传入到 cell 中去外,还可以通过循环遍历 cell 的 superview 来得到其所在的父 tableView。1,扩展UITableViewCell为方便使用,这里对 UI转载 2016-12-28 17:49:11 · 4049 阅读 · 0 评论 -
iOS开发之如何跳到系统设置里的WiFi界面
之前以为,苹果不支持直接从应用跳到系统设置里的WiFi界面。后来发现,这个小功能是可以实现的,而且实现起来并不麻烦。让我们一起来看看吧!需求从应用跳到系统设置里的WiFi界面有这个需求存在吗?答案是肯定的。比如以下两个例子:在没有网的状态下,你可能想提醒用户去设置界面连接WiFi。如果不能跳到WiFi界面,只能在APP里面做出文字提示。这样很多小白用户可能不会看提示,只会觉原创 2017-04-10 15:06:12 · 3808 阅读 · 0 评论 -
Swift - 实现表格tableViewCell里嵌套collectionView(附样例)
有时要实现一个复杂的页面布局,单单使用 UITableView 实现不了,需要通过 UITableView 和 UICollectionView 结合实现,即每个单元格 tableViewCell 中都嵌套一个 collectionView。下面通过样例演示如何实现。1,效果图(1)表格中每一个单元格对应一个月份的图书列表。(2)单元格中头部显示月份标题。内部通过 collec转载 2017-04-01 17:54:46 · 5093 阅读 · 0 评论 -
Xcode - 直接截取手机的屏幕图片,并保存到电脑
在 iOS 开发中,有时我们需要截取手机屏幕保存到电脑上。通常的操作就是先在手机上使用 Home键 + 开机键 进行截屏,再将截图传到电脑上。其实还有个更方便的做法。使用Xcode可以直接截取手机上的图,并保存到电脑桌面上。(1)将手机接入电脑。打开 Xcode,将发布目标选择手机。(2)点击 Xcode 菜单“Debug”->“View Debug转载 2017-04-20 15:55:19 · 1552 阅读 · 0 评论 -
Swift - 伸缩优先级详解(Content Hugging、Content Compression Resistance)
一、基本概念介绍1,固有内容尺寸(intrinsic content size)在开发中,有的控件或视图其本身就自带大小。这些控件能通过自己显示的内容计算出需要的 Size,这个自动计算出来 Size 就叫该控件的固有内容尺寸(intrinsic content size)。比如 UIButton、UILabel 控件,我们设置完显示文字后,它就能根据字符串长度自动计算出宽高尺转载 2017-08-10 17:11:50 · 1342 阅读 · 0 评论 -
Xcode 8 Instruments 学习
这篇文章主要介绍使用Instruments的 Time Profiler 的使用前言1.很多公司都恨不得把app压法周期压缩到最低,这就导致了开发中隐藏了很多问题,有点经验的工程师草率的优化下,更糟的情况那些没有经验的工程师甚至不会对app进行任何优化.2.某种程度上来说,你开发过程中是可以忽略性能优化的. 十年前,移动设备的硬件资源是非常有限的.甚至连浮点数都是被禁止的.原创 2016-12-08 17:12:21 · 999 阅读 · 0 评论 -
swift-生成二维码(可带图片)
import UIKitclass ViewController: UIViewController { overridefunc viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically原创 2016-11-25 11:12:02 · 763 阅读 · 0 评论 -
兼容iOS 10 _升级xcode8_适配(二)
一.工程改动1. 工程配置直接使用Xcode8Beta打开工程后,你会发现你的provisonfile配置出了问题,这是由于在Xcode8中对工程配置有了一些小的改动。在Xcode8工程配置的general选项卡中,使用更详细signing选项替换了原有的team选项。选中:project -> target -> general Xcode8之前team选项转载 2016-11-12 10:54:14 · 365 阅读 · 0 评论 -
兼容iOS 10 _升级xcode8_适配(一)
1.Notification(通知)自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserNotifications的易用,功能也变得非常强大。iOS 9 以前的通知1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。2.应用在转载 2016-11-12 10:53:16 · 348 阅读 · 0 评论 -
让你的 Xcode8 继续使用插件
随着 iOS10 的正式版即将发布,Xcode8 GM 也在发布会后放出,本文不会涉及到 Xcode8 有哪些更新,而是记录了如何让 Xcode8 继续支持 Plugin。Update:10.8如果你的 XcodeGr8 时不时就转菊花卡死,可以试下这种方式:打开系统偏好设置->安全性与隐私->通讯录->将 Xcode 前面的勾去掉,如下图所示,解决方案来自 Xvim 的这转载 2016-11-12 14:34:08 · 836 阅读 · 0 评论 -
判断两个日期是不是同一天的几种方法(swift3新增了一种方法)
1,格式化成字符串比较下面方法将两个日期格式化成只包含年月日的字符串,再比较两个字符串是否相等。12345678910//初始化日期格式器let dformatter = DateFormatter()dformatter.dateForm原创 2016-11-30 10:50:26 · 6960 阅读 · 0 评论 -
Swift - 调整UIScrollView的滑动速度(适用于tableView、collectionView)
当我们使用手指滑动滚动视图时(UIScrollView、UITableView、UICollectionView),抬起手指后,会发现视图还会保持惯性继续滚动一段距离。然后逐渐减速停下。如果觉得快速滑动过程中,滚动速度过快,一滑就溜出去很远。我们可以通过修改 decelerationRate 属性,来控制减速的速度。有两种方式来设置 decelerationRate 属性。1,使用系统定义原创 2016-11-30 10:54:05 · 6210 阅读 · 0 评论 -
Swift - 微信聊天群头像实现 (群聊的组合头像)
1,样例效果图(1)组合图片的功能我使用扩展 UIImage 的方式实现。(2)根据初始化传入的图片数组中图片数量的不同(超过9张图片的话也只显示前9个),组件会自动设置内部图片的尺寸和位置。(3)除了只有一张图片的情况外。内部小图片尺寸实际上只有两种。即小于等于4张,或者大于4张这两种情况。(4)生成返回的是一个 UIImage 对象,为了让头像图标有圆角效果。这转载 2016-12-12 09:25:31 · 3185 阅读 · 0 评论 -
IQKeyboardManager第三方库的使用
IQKeyboardManager是iOS中解决键盘弹起遮挡UITextField/UITextView的一种很实用的工具。无需输入任何代码,不需要额外的设置。使用IQKeyboardManager的你只需要将源文件添加到项目。这里附上下载链接:https://github.com/hackiftekhar/IQKeyboardManagerIQKeyboardManager支持Objec转载 2016-11-21 11:34:31 · 500 阅读 · 0 评论