iOS
喵渣渣
善学者尽其理,善行者究其难
展开
-
详细分享UICollectionView的自定义布局(瀑布流, 线性, 圆形…)
前言:本篇文章不是分享collectionView的详细使用教程, 而是属于比较’高级’的collectionView使用技巧, 阅读之前, 我想你已经很熟悉collectionView的基本使用, 如果不是很熟悉, 建议在以后熟悉一下. 那么在本篇结束后, 你也能够很轻松的使用collectionView来实现, 当下比较流行和比较炫酷的效果以及你想要自己实现的其他的效果.这里就实现三种原创 2016-06-20 21:19:34 · 993 阅读 · 0 评论 -
iOS中的屏幕适配之Masonry和SnapKit
尽管iPhone的屏幕适配没有像安卓那样因种类繁多的手机以及屏幕分辨率的差异而带来的繁琐的屏幕适配,但是随着苹果发布越来越多的手机,我们也经历着从计算frame到使用Autoresizing进行适配(Autoresizing的核心思想是:参照父容器来设置子空间的frame),而如今App中的控件不仅要求能根据控件父子关系来设置相对位置,也要求能根据“任意”控件直接的关系来设置位置,出现了现在的使用原创 2016-07-18 17:51:29 · 4896 阅读 · 0 评论 -
自定义重排的CollectionView
一个简单的SDK制作是很容易的,复杂的sdk其实就和复杂化的应用一样,都是从简单开始的,这里介绍一下sdk的简单制作。步骤:1.创建sdk,公开文件2.编译、获取sdk文件3.导入工程,配置文件4.解决错误,完成 1.创建sdk,公开文件然后起个需要的名字原创 2016-07-21 00:01:24 · 508 阅读 · 0 评论 -
iOS : Zbar几个经典问题的解决办法
iphone 开发中使用zbar时遇到的几个典型问题解决方法。 在近期的一个ios项目中使用到了一个二维码扫描库(Qrcode)--ZBar, 期间遇到2个问题。 1. zbar下载后使用其libzbar.a 发现无法再arm7上运行。2. zbar使用过程中,如果多次打开摄像头扫描Qrcode,会出现memory leak problem, 导致其内存指数型增长,大概8次原创 2016-08-09 20:20:58 · 1919 阅读 · 0 评论 -
打造轻量级 tableViewController 之抽离 DataSource/Delegate
前言UITableView/UICollectionView 是我们开发中使用最为频繁的两个控件。关于其使用的实践网上已经有很多优秀的总结了,所以我不打算再啰嗦了。今天要讨论的问题基于 objc.io 的一遍文章 Lighter View Controllers,此文讲述如何通过抽取频繁出现的配置类型的代码到专门的一个 DataSource/Delegate 里面来为 Cont转载 2016-07-09 19:47:54 · 1775 阅读 · 0 评论 -
MVVM奇葩说
一直想聊聊这个话题,也有朋友跟我留言,让我讲讲MVVM,只可惜一直没整明白,不敢轻易下笔。针对MVVM,网上有很多不错的文章,比如MVVM介绍、被误解的 MVC 和被神化的 MVVM以及Look at MVVM from a different perspective等等。文章前我想先提几个问题:MVVM到底是什么?它和MVC有什么区别?转载 2016-05-27 00:00:32 · 341 阅读 · 0 评论 -
iOS 10 的适配问题
前言最近闲来无事,刚好看到之前做的一些关于iOS10的适配问题的笔记,下面就来做一下归纳1.系统判断方法失效在你的项目中,当需要判断系统版本的话,不要使用下面的方法:#define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substri ngToIndex:1] intValue]>=10)它永远返回NO,substring’原创 2017-05-16 14:07:00 · 453 阅读 · 0 评论 -
iOS获取设备唯一标识
前言目前市面应用普遍采用用户体验,涉及到部分重要功能时候才提醒用户注册账户,而用户之前的操作,比如收藏,点赞,关注等内容需要同时关联进注册的账户,那么根据什么记录用户的操作信息就尤为重要。下面就列出我之前收集资料总结的方案。UDIDUDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可以改变设备的 UD原创 2017-05-17 20:58:24 · 445 阅读 · 0 评论 -
UIScrollView添加子控件约束的一些小总结
之前在使用AutoLayout给UIScrollView进行布局的时候,总会出现点这样那样莫名其妙的问题.我也曾跳坑两次,挣扎许久最后都以放弃storyboard改为代码实现而告终.今天终得正解,遂拿出来说说.先从最基础的开始,我们试着在storyboard上添加一个UIScrollView,并且在内部添加一个和它一样大的UIImageView.首先,拖一个UIScrollView到sto原创 2016-07-13 22:10:47 · 6160 阅读 · 0 评论 -
iOS:YYModel的简单使用
简单的 Model 与 JSON 相互转换// JSON:{ "uid":123456, "name":"Harry", "created":"1965-07-31T00:00:00+0000"}// Model:@interface User : NSObject@property UInt64 uid;@property NSString *name;原创 2016-07-24 00:33:23 · 6746 阅读 · 0 评论 -
iOS设置图片最大尺寸
经常遇到类似上传头像、社交分享等操作的时候,需要对图片进行裁切,一般需要限制一个最大值,来限制图片既要维持宽高比例,又要让宽高都小于这个最大值下面这个方法即可满足需求,当宽高都小于最大值的时候,不对图片进行压缩大小。当图片是竖排版(高>宽)的时候,把图片的高压缩到设置的最大值,同时宽按比例压缩到对应大小。同理,当图片是横版(高压缩图片的原理,是利用Core Graphics来重原创 2016-04-18 20:55:37 · 1096 阅读 · 0 评论 -
iOS之深入了解控制器View的加载
我们会遇到这样的问题,loadView有什么作用,它与viewDidLoad有何区别,首先我们得知道,控制器view是通过懒加载的方式进行加载的,即用到的时候再加载。原创 2016-05-15 08:52:14 · 1373 阅读 · 0 评论 -
iOS多边形按键的创建
前几天项目需要,要做一个楼盘或者户型图的原生交互页面, 不清楚有没有更简单直白又高级的方法,我第一个想到的是创建一堆 多边形按钮。 所以我们就需要一个抽象的类,可以由贝赛尔曲线创建按键,是UIButton的子类 内容如下,如果大家有好的方案,请不吝赐教: 按键抽象类头文件:按键抽象类实现文件在viewController中创建并使用这个按键类:按键的大小,根据创原创 2016-04-20 23:53:25 · 416 阅读 · 0 评论 -
实现当UILable的内容超出其范围后自动滚动效果
本文主要介绍 【当UILabel的内容超出其自身的宽度范围后,进行互动展示的效果】,我们先来看一下Demo的效果图。实际实现起来并不十分繁杂,在这里,为了开发的效率,我们使用了一个已经封装好的UILabel控制类CBAutoScrollLabel:点击“阅读原文”下载。在写代码之前,我们还有一个准备工作,在stroyBoard中,找到原创 2016-05-05 22:47:50 · 854 阅读 · 0 评论 -
iOS开发中常用到的加密方式
1 base641.1 简介Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就原创 2016-05-07 00:37:28 · 5206 阅读 · 0 评论 -
苹果的Apple Pay学习
先简单介绍一下1.首先呢来说一说Apple Pay 的使用前提1)设备的支持(iPhone6以上版本) iPhone设备 支持手机app内支付 店内支付 Apple Watch 支持店内支付 iPad 支持app内支付2)系统的支持(iOS8.0+版本,最好升级到当前最新版本iOS9.2)(iOS9.2,Apple原创 2016-05-31 23:54:03 · 1004 阅读 · 0 评论 -
iOS开发中xcode错误和异常处理
在开始这一节的内容之前,我想先阐明两个在很多时候被混淆的概念,那就是异常 (exception) 和错误 (error)。在 Objective-C 开发中,异常往往是由程序员的错误导致的 app 无法继续运行,比如我们向一个无法响应某个消息的 NSObject 对象发送了这个消息,会得到 NSInvalidArgumentException 的异常,并告诉我们 "unre原创 2016-05-08 19:39:05 · 1541 阅读 · 0 评论 -
iOS 常用小技巧大杂烩(上)
1,打印View所有子视图po[[selfview]recursiveDescription]2,layoutSubviews调用的调用时机* 当视图第一次显示的时候会被调用* 当这个视图显示到屏幕上了,点击按钮* 添加子视图也会调用这个方法* 当本视图的大小发生改变的时候是会调用的*原创 2016-06-05 22:38:45 · 535 阅读 · 0 评论 -
iOS提示框之 MBProgressHUD 与 SVProgressHUD
提示框,进度提示,加载中提示等等,无论怎样,你总是需要提示框来指示某个状态正在后台努力进行中.一个合适的提示框,更多的是用来增强用户体验.把最多的时间,用来做更核心的事;把这些不是非常重要的事,你应该试着使用一个成熟稳定的第三方来解决.MBProgressHUD还是 SVProgressHUD ?许多时候,选择都是很重要的,但是总是要做出选择.每个人考虑的因素和角度不同,结论或许也不同原创 2016-07-11 23:35:53 · 8827 阅读 · 0 评论 -
谈谈iOS多线程的锁
前言iOS开发中由于各种第三方库的高度封装,对锁的使用很少,刚好之前面试中被问到的关于并发编程锁的问题,都是一知半解,于是决定整理一下关于iOS中锁的知识,为大家查缺补漏。目录第一部分: 什么是锁第二部分: 锁的分类第三部分: 性能对比第四部分: 常见的死锁第五部分: 总结(附Demo)正文一、什么是锁在过去几十年并发研究领域的出版物中,锁总是扮演着坏人的角色,锁背负的指控包括引起死锁、锁封护(lu原创 2017-11-06 10:37:16 · 1999 阅读 · 0 评论