摘要:
最近下了一款小众APP,功能实用,界面简洁,然而用了几分钟页面下方竟然弹出了小窗口广告!并且每分钟自动更新!!耗电、耗流量、占屏幕空间、闪烁吸引眼球、不小心还会误触,这种广告方式是本强迫症患者无法容忍的,相信大部分人也会反感,因此常用的那些APP中也几乎没有看到过。从学习的角度出发,本人尝试对这款应 阅读全文
摘要:
以前学习过分形几何,很有意思,由简单的数学公式迭代计算得到的分形图形,放大后不会丢失细节。典型的如Mandelbrot图形: 计算方式也不复杂,由f(z) = z^2 + c,迭代计算 z1=f(z0), z2=f(z1), z3=f(z2)...其中z, c都是复数,可以表示为复平面上的一个点,而 阅读全文
摘要:
高斯模糊是用得最广泛的图像模糊算法,它的原理很简单,对每个点计算它周围其他点的平均色值,设置到该点上,就是模糊后的图。取周围其他点的范围称为模糊半径,模糊半径越大也就越模糊。高斯模糊算法网上很多,可以参考这个: http://www.quasimondo.com/StackBlurForCanvas 阅读全文
摘要:
UIViewController 的生命周期有个奇怪的地方,就是有页面加载的方法 viewDidLoad(),却没有页面销毁的方法。只有一个 deinit{},它代表的是对象的销毁。然而关闭页面时,对象不一定会销毁。 如果在deinit{}里面去释放资源,资源没释放导致内存泄漏,那么deinit{} 阅读全文
摘要:
值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象。 Swift中定义的很多类型都是值类型,如struct、enum以及所有的内建类型(Int、Bool、String、Array、Dictionary)都是值类型。class为引用类型。 以最常用的数组为例 值传递 A,B两个类各有一个Arr 阅读全文
摘要:
新建一个iOS工程,系统会自动创建ViewController,并在Main.storyboard中引用它作为主页面。这是一个基本的ViewController,如果要改成带导航栏的UINavigationController或者其他的,就得更换。网上搜了一下,资料很乱,改的地方很多,而且有的生效, 阅读全文
摘要:
offsetBy() 是移动矩形位置,大小不变。dx 和 dy 表示origin移动距离。 insetBy() 是缩小或放大矩形,中心点不变。dx 和 dy 表示矩形四边同时向中心点移动的距离。origin移动距离也是 dx 和 dy,宽高的变化是 -2dx 和 -2dy。 (lldb) po f 阅读全文
摘要:
列表是最常用的UI组件,iOS中列表分为UITableView和UICollectionView。UITableView是普通的纵向滑动列表,UICollectionView相当于前者的升级版,可以实现横向滑动等复杂的布局,定义列表item的样式等。 列表的使用相对麻烦一点,除了要操作控件,还要操作 阅读全文
摘要:
// 直接添加延时任务 DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { } // 初始化延时任务 var dispatchWorkItem = DispatchWorkItem { } // 添加延时任务 DispatchQueue.m 阅读全文
摘要:
当前View里面有两个View,绿色的bigView和红色的smallView,smallView在bigView里面。现在让bigView执行一段移动动画,然后给bigView添加点击事件,发现点击事件无效。 因为iOS动画中的View点击事件无效。 原因是iOS里几乎所有的View动画是都基于l 阅读全文