现在位置: 首页 > 编程语言 > 文章
2020年02月18日 编程语言 ⁄ 共 3515字 评论关闭

详解iOS中跨页面状态同步方案比较 由于团队希望项目能够去 CoreData 化,而以往状态同步都是依赖于 CoreData 的NSFetchedResultsController.因此去 CoreData 则必须寻找一种替代方案来进行状态同步. NotificationCenter 状态同步实际是一对多的场景,也就是一个事件可以被多个观察者监听到.而苹果的系统框架自带的 NotificationCenter 正是用来适配这种场景,并且其也是被系统框架本身及我们开发者大面积使用的.用法如下: 定义通知名字,以及需要额外传递信息的

阅读全文
2020年02月18日 编程语言 ⁄ 共 7516字 评论关闭

iOS设置圆角阴影 避免离屏渲染 iOS 控件设置圆角,避免离屏渲染. 离屏渲染:指GPU(图形处理器)在当前屏幕缓冲区外新开辟一个渲染缓冲区进行工作.这会给我们带来额外的性能损耗,如果这样的操作达到一定数量,会触发缓冲区的频繁合并和上下文的的频繁切换,会出现卡顿.掉帧现象.造成离屏渲染的原因有很多,如:shouldRasterize(光栅化).mask(遮罩层).shadows(阴影).EdgeAnntialiasing(抗锯齿).cornerRadius(圆角)等等. 下面说一下什么情况下设置圆角会造成离屏渲染: //设置c

阅读全文
2020年02月18日 编程语言 ⁄ 共 2209字 评论关闭

iOS Touch ID指纹识别技术简介 Touch ID简介: 苹果公司在iPhone 5S手机中推出了指纹识别功能,提高手机安全性的同时也方便了用户操作.其功能是通过Touch ID实现的,从iOS 8系统开始,苹果开发一些Touch ID的API使得开发人员可以在自己的应用程序中调用指纹识别功能. Touch ID功能就是指纹识别密码.使用指纹识别功能需要先进入设置-Touch ID 与密码中根据提示添加指纹. 从iOS 8系统开始开放了Touch ID的验证接口功能,在应用程序中可以判断输入的Touch ID是否设置持有者的To

阅读全文
2020年02月18日 编程语言 ⁄ 共 2732字 评论关闭

模仿iOS版微信的滑动View效果 前言 最近经常交替使用Android和iOS手机.对于两个系统,从我们常用的列表来看,Android一般的列表菜单是通过长按出来的,而iOS是通过滑动出现的.比如我们常用的微信,对于Android版本,长按某个聊天好友,会弹出 标为未读,置顶聊天,删除聊天 选项:对于iOS的版本,右滑,会显示出 标为未读,删除 选项 ———————————我是分割线——————————— 1. 滑动View 1.1 内容展示

阅读全文
2020年02月18日 编程语言 ⁄ 共 2948字 评论关闭

iOS开发Quick Actions创建桌面Icon快捷方式 个言 很久没发随笔了,有一年多了吧.期间也曾想继续去写随笔,但是因为各种原因而耽搁了.最近又想了一下,还是有很多东西想要写,想要分享,想要记录下来的东西.之后我也会不断写随笔,但不止于 iOS 的方向,也想去体验一下新东西.在此不多说,我们开始阅读正文吧. 简介 在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完成.比如用力地长按微信图标,会弹出诸如"扫一扫"和"我

阅读全文
2020年02月18日 编程语言 ⁄ 共 2025字 评论关闭

iOS去除Webview键盘顶部工具栏的方法 前言 在默认情况下,iOS 使用 Webview 打开的网页,在进行表单输入时,弹出的键盘顶部会多出一个工具栏. 左边有两个上下按钮,右边有一个Done/完成按钮.这是用来切换输入框的,就像 PC 上按Tab键可以切换输入框一样. 为了让 App 中嵌入的 H5 更接近 Native,咱们可以去掉它. UIWebView UIWebView,可以使用[self hideKeyboardShortcutBar:self.webView]去掉工具栏. – (void) hideKeyboardSho

阅读全文
2020年02月18日 编程语言 ⁄ 共 6968字 评论关闭

iOS开发教程之WKWebView与JS的交互 前言 iOS8以后,Apple公司推出了WKWebView,对比之前的UIWebView不论是处理速度还是内存性能,都有了大幅度的提升! 那么下面我就分享一下WKWebView与JS的交互. 首先使用WKWebView.你需要导入WebKit #import 然后初始化一个WKWebView,设置代理,并且执行代理的方法.在网页加载成功的时候,我们会调用一些JS代码对网页进行设置. WKWebView的代理一共有三个:WKUIDelegate,WKNavigationDelegate,WKScr

阅读全文
2020年02月18日 编程语言 ⁄ 共 678字 评论关闭

UILabel显示定时器文本跳动问题的解决方法 先看一个有问题的展示效果: 上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题.目前大多数用来实现定时器显示的控件都是UILabel. 在iOS9以前系统默认的英文字体是Helvetica, 这种字体每个数字的宽度都是相等的.而在iOS9以后默认的英文字体变为San Fransico字体,这种字体每个数字的宽度是不相等的. 正是因为数字宽度的不相等就导致了用UILabel来显示定时器文本时出现文字跳动闪烁的问题. 因此解决的方案就是选用一种等宽数字字体显示即可.为此有两个解决方案: 用H

阅读全文
2020年02月18日 编程语言 ⁄ 共 4165字 评论关闭

iOS13适配的实现方法 1.私有KVC [self setValue:baseTabBar forKey:@"tabBar"]; //正常 [_textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];///崩溃 [_textField setValue:[UIFont systemFontOfSize:14] forKeyPath:@"_placeholderLab

阅读全文
2020年02月18日 编程语言 ⁄ 共 1024字 评论关闭

解决iOS13 无法获取WiFi名称(SSID)问题 升级到iOS13以后,发现之前获取WiFi名称的接口失效了,返回的都是固定值"WLAN".这里可能是因为苹果对用户隐私保护问题,因为通过wifi信息可以定位到用户地理位置.所以iOS13以后如果想要继续获取WiFi名称,需要在调用接口前判断用户是否同意app使用地理位置信息. 我这里只在第一次使用时提示: NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; CGFloat version = [

阅读全文