iOS使用UICollectionView实现横向滚动照片效果 本文实例为大家分享了iOS使用UICollectionView实现横向滚动展示照片的具体代码,供大家参考,具体内容如下 这是Demo链接 效果图 思路 1. 界面搭建 界面的搭建十分简单,采用UICollectionView和自定义cell进行搭建即可. // ViewController.m // 下面使用到的宏和全局变量 #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen main
iOS用AutoLayout实现分页滚动功能 滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动.在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表.这些界面中往往每一页功能都比较独立,系统也提供了UIPageViewController来实现这种分页滚动的功能. 实现分页滚动的UI实现一般是最外层一个UIScrollView.然后UIScrollView里面是一个总体的容器视图containerView.容器视图添加N个页视图,对于水平分页滚动来说容器视图的高度和滚动视图一样,
使用objc runtime实现iOS闭环的懒加载功能 使用objc runtime实现懒加载 地址:AutoPropertyCocoa 懒加载形式如下 – (id)lazyloadProperty{ if(_lazyloadProperty == nil){ _lazyloadProperty = [XClass ]; } return _lazyloadProperty; } 一般使用宏定义可以轻松完成.但是没有一致性,移植差. 利用objc runtime的动态性实现懒加载可以实现即可增加又可删除功能,也可以避免污染类型.该三方弥补了目前
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的时候才会
如何利用FutureBuilder提高开发效率 常见场景 展示请求按钮 用户点击按钮,显示loading 展示数据或者错误 抽象模式 展示请求按钮(初始状态) 用户点击按钮,显示loading(请求中状态) 展示数据或者错误 (结束状态(成功或失败)) 转换成程序语言 以上三种现实情况对应 AsyncSnapshot 三个状态 ConnectionState.none 初始态 ConnectionState.waiting 请求态 ConnectionState.done 完成态 snapshot.hasError 完成(异常) snapsh