logo头像
Snippet 博客主题

Swift

iOS - Swift 面向协议编程(一)

传统的面向对象开发思维方式是将类中实现的相似方法抽取出来,接着放入一个Base类,然后继承于Base类后各个类即可找拥有相同的方法,不用再一个个手动实现。比如:一个Person类,一个Dog类,它们都拥有方法eat,那么就可以新建一个Animal类,将eat方法抽取出来放入其中,然后将Person类和Dog类都继承于Animal。但是,如果现在又有一个Robot类,也需要拥有eat方法,而此时也将其继承于Animal的话显然是不合理的,于是我们就需要转换思维,面向协议开发~ +…

iOS - Swift 高仿微信

从2016年12月份开始做到 2017年2月16,虽说这个项目看起来不大,但是锻炼人的地方还真是很多的,微信通讯录联系人的按拼音排序,自定义表情键盘中遇到的分页滚动,微信聊天界面的图片显示、语音信息的动画等。挑战着各种各样的需求,本人也将遇到的问题的解决方案做了记录并整理了一下,希望能给iOS程序员同胞们带来帮助。目前基本的聊天已完成,实现了一部分个人信息的修改,功能我会尽快完善的! +…

iOS-Swift-UIButton中ImageView的animationImages动画执行完毕后,图标变暗

查看官方文档的说明 当该属性设置为true时,按钮在高亮状态下,图片会绘制成高亮(前提是没有手动设置高亮图片)。并且该值的默认值为true所以我们也可以将属性adjustsImageWhenHighlighted设置为false,不让系统自动帮我们设置高亮状态下显示的图片即可。 +…

iOS - Swift UITableView的scrollToRow的坑

今天鄙人使用SnapKit来布局cell,然后用scrollToRow来滚到底部就遇到了一个很奇葩的现象。我设置了在键盘弹出后聊天消息列表会自动滚到底部。1.随便输入一条消息,点发送后,在聊天消息列表中并没有滚到最新消息那一行。2.退出键盘不做任何操作再打开键盘也是滚到刚才那里(即最新消息的上一条所在位置)3.只有在退出键盘后把聊天消息列表的消息向上拉一点距离露出最新消息所在的cell之后,再点击才有用 +…

iOS-Swift 仿微信聊天图片显示

其实原理比较简单,准备一张图片MaskImgae,先对其进行拉伸,然后按照其轮廓对图片进行裁剪就行了 +…

iOS-Swift-UICollectionView横向分页的问题

有两种方式可以解决,数据只有11个,要分两页需要16个,那我们可以直接添加数据到16个,然后在dataSource中返回cell时进行判断及处理即可。不过对于现在来说太小题大做了,我选第二种方式~ +…

iOS - 实现UINavigation全屏动返回(二)

在 iOS - 实现UINavigation全屏滑动返回(一) 中我们实现了滑动返回的功能,但不是全屏滑动返回,得在左侧边缘轻扫才能滑动返回~UINavigationController自带的只能在边缘轻扫才能滑动返回,这用户体验是不好的,接下来实现全屏滑动返回! +…

iOS - 实现UINavigation全屏动返回(一)

interactivePopGestureRecognizer 是UINavigationController自带手势,当我们自定义了导航条的返回按钮后,这个手势就自动失效了,也就是说无法滑动返回。+…