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

iOS 13适配汇总(推荐) 随着iPhone 11的发布,iOS 13适配也提上了日程,接下来就开发中升级iOS13的手机可能出现的问题 Xcode: 11.0 iOS : 13.0 UIViewController 模态弹出界面 viewController.present(presentVC, animated: true, completion: nil) 在调用模态弹出视图,会发现弹出的界面没有全屏.如图 通过多次的尝试,发现在低版本里面不会发生这种情况(iOS12及以下),于是我查阅了最新的开发文档,发现了端倪,

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

iOS使用UICollectionView实现横向滚动照片效果 本文实例为大家分享了iOS使用UICollectionView实现横向滚动展示照片的具体代码,供大家参考,具体内容如下 这是Demo链接 效果图 思路 1. 界面搭建 界面的搭建十分简单,采用UICollectionView和自定义cell进行搭建即可. // ViewController.m // 下面使用到的宏和全局变量 #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen main

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

iOS用AutoLayout实现分页滚动功能 滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动.在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表.这些界面中往往每一页功能都比较独立,系统也提供了UIPageViewController来实现这种分页滚动的功能. 实现分页滚动的UI实现一般是最外层一个UIScrollView.然后UIScrollView里面是一个总体的容器视图containerView.容器视图添加N个页视图,对于水平分页滚动来说容器视图的高度和滚动视图一样,

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

使用objc runtime实现iOS闭环的懒加载功能 使用objc runtime实现懒加载 地址:AutoPropertyCocoa 懒加载形式如下 – (id)lazyloadProperty{ if(_lazyloadProperty == nil){ _lazyloadProperty = [XClass ]; } return _lazyloadProperty; } 一般使用宏定义可以轻松完成.但是没有一致性,移植差. 利用objc runtime的动态性实现懒加载可以实现即可增加又可删除功能,也可以避免污染类型.该三方弥补了目前

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

Objective-C中block循环引用问题详解 目标:block执行过程中,self不会释放:执行完可以释放. 最初 block中直接使用self会强引用. self.myBlock = ^() { [self doSomething]; }; 或者使用了对象的属性 self.myBlock = ^() { NSString *str = _str; NSString *str2 = self.str; }; 在这样的情况下,self强引用block,block也持有该对象,导致循环引用. 要注意的是,只有在self强引用block的时候才会

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

如何利用FutureBuilder提高开发效率 常见场景 展示请求按钮 用户点击按钮,显示loading 展示数据或者错误 抽象模式 展示请求按钮(初始状态) 用户点击按钮,显示loading(请求中状态) 展示数据或者错误 (结束状态(成功或失败)) 转换成程序语言 以上三种现实情况对应 AsyncSnapshot 三个状态 ConnectionState.none 初始态 ConnectionState.waiting 请求态 ConnectionState.done 完成态 snapshot.hasError 完成(异常) snapsh

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

iOS中如何获取某个视图的截图详析 前言 最近在做SDK的截图,想触发类似系统的截屏功能,找了一圈,总结一下靠谱的几种方式. 我写了个UIView 的category,将这几种方式封装和简化了一下. 第一种情形截图 这种是最最普通的截图,针对一般的视图上添加视图的情况,基本都可以使用. 源码: /** 普通的截图 该API仅可以在未使用layer和OpenGL渲染的视图上使用 @return 截取的图片 */ – (UIImage *)nomalSnapshotImage { UIGraphicsBeginImageContext

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

iOs迁至WKWebView跨过的一些坑 前言 在iOS中有两种网页视图可以加载网页除了系统的那个控制器.一种是UIWebView,另一种是WKWebView,其实WKWebView就是想替代UIWebView的,因为我们都知道UIWebView非常占内存等一些问题,但是现在很多人还在使用UIWebView这是为啥呢?而且官方也宣布在iOS12中废弃了UIWebView让我们尽快使用WKWebView.其实也就是这些东西:**页面尺寸问题.JS交互.请求拦截.cookie带不上的问题.**所以有时想要迁移还得解决这些问题,所以还是很烦的

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

iOS模拟中奖名单循环滚动效果 本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下 1.动态效果图: 2.思路: (1)控件:一个父View,依次添加两个tableVew,使其上下紧挨着,高度均等于所有cell的总高度,且加载相同的的数据,父视图的clipsToBounds属性一定要设置为true (2)滚动:使用计时器,调整时间及滚动大小,使展示平滑 (3)循环算法:当A列表滚动出界面时,就把它添加在B列表的下面,B列表滚动出界面时,就把它添加在A列表的下面,形成循环效果 3.Swift版

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

浅谈iOS开发如何适配暗黑模式(Dark Mode) 暗黑模式 原理 将同一个资源,创建出两种模式的样式.系统根据当前选择的样式,自动获取该样式的资源 每次系统更新样式时,应用会调用当前所有存在的元素调用对应的一些重新方法,进行重绘视图,可以在对应的方法做相应的改动 资源文件适配 创建一个Assets文件(或在现有的Assets文件中) 新建一个图片资源文件(或者颜色资源文件.或者其他资源文件) 选中该资源文件, 打开 Xcode ->View ->Inspectors ->Show Attributes Inspectors (

阅读全文