自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

转载 iOS中求出label中文字的行数和每一行的内容

今天遇到一个需求,需要计算label中文字的行数。想了好久也没想到好的解决方法,就在网上找了下。结果发现一篇文章是讲这个的。这部分代码不但能够求出一个label中文字行数,更厉害的是能够求出每一行的内容是什么; 代码如下。- (NSArray *)getLinesArrayOfStringInLabel:(UILabel *)label{ NSString *text = [label t...

2018-05-30 17:43:17 1945

转载 iOS websocket接入

接触WebSocket最近公司的项目中有一个功能 需要服务器主动推数据到APP。考虑到普通的HTTP 通信方式只能由客户端主动拉取,服务器不能主动推给客户端 。然后就想出的2种解决方案。1.和后台沟通了一下 他们那里使用的是WebSocket ,所以就使用WebSocket让我们app端和服务器建立长连接。这样就可以事实接受他发过来的消息2.使用推送,也可以实现接收后台发过来的一些

2018-04-13 15:37:16 495

转载 iOS安装CocoaPods详细过程

一、简介什么是CocoaPodsCocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。CocoaPods的好处1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC

2018-04-13 15:34:41 254

转载 适配iOS 11 以及无线调试

navigation bar1、导航栏新增了一种大标题样式,默认设置是不开启,所以不需要修改。2、titleView支持autolayout,这要求titleView必须是能够自撑开的或实现了- intrinsicContentSize,简书的搜索就变成下面这样了搜索解决办法比较简单,这个搜索框对应的view实现- intrinsicContentSize方法- (

2017-09-20 11:49:43 482

转载 XLForm 表单提交

XLForm 据说这个库特别屌,前几天项目需求大量的表单提交类似下图的表单有15 个页面。。。2596697-e68549805c3552c0.png开始上代码....1.导入#import "XLForm.h"2.继承@interface LSXMessageSetupVC : XLFormViewController3.创建-(void)initializ

2017-07-21 09:52:52 1713

转载 iOS开发UI篇—CALayer简介

一、简单介绍在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView。其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层@property(nonatomi

2017-07-19 17:12:28 279

转载 iOS模式详解runtime面试工作

简书:http://www.jianshu.com/p/19f280afcb24对于从事 iOS 开发人员来说,所有的人都会答出「runtime 是运行时」,什么情况下用runtime?,大部分人能说出「给分类动态添加属性 || 交换方法」,再问一句「runtime 消息机制的调用流程 || 能体现runtime 强大之处的应用场景」,到这,能知道答案的寥寥无几,很少有人会说到“黑魔法”这

2017-07-14 16:54:15 1739 2

转载 单个页面多个网络请求的情况(常用总结)

http://www.cocoachina.com/ios/20170710/19791.htmldispatch_group_t group = dispatch_group_create();    dispatch_queue_t serialQueue = dispatch_queue_create("com.wzb.test.www", DIS

2017-07-14 16:36:43 1598

转载 Xcode 清理存储空间

Xcode版本:8.3.3iOS版本:10.3.2移除 Xcode 运行安装 APP 产生的缓存文件(DerivedData)只要重新运行Xcode就一定会重新生成,而且会随着运行程序的增多,占用空间会越来越大。删除后在重新运行程序可能会稍微慢一点,建议定期清理。路径:1~/Library/Developer/Xc

2017-07-14 16:26:39 1157

转载 UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法

最近在项目中使用了UIPageViewController来翻页,在VIEW上又使用了UITableView,两者都有一个UIPanGestureRecognizer手势,在UITableView上托动的时候两者都接收到了这个UIPanGestureRecognizer手势,这样的话,会导致手势混乱。解决思路:当触发一个UIPanGestureRecognizer手势的时候,另外一个不响应

2017-07-12 15:02:21 3434

转载 iOS开发多线程在实际项目中的运用

在实际项目开发中为了能够给用户更好的体验,有些延时操作我们都会放在子线程中进行。今天我们就来聊聊多线程在实际项目中的运用。我们先来看看多线程的基础知识:1.多线程的原理:        同一时间,CPU只能处理一条线程,也就是只有一条线程在工作。所谓多线程并发(同时)执行,其实是CPU快速的在多线程之间调度(切换)。如果CPU调度线程的时间足够快,就造成了多

2017-07-07 11:53:05 440

转载 iOS开发——UITableView优化之缓存cell高度

为什么要缓存高度?因为当tableView滚动时会不停的回调- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;这个代理方法,当cell的高度需自适应内容时,就意味着每次回调这个方法时都要计算高度,而计算是要花时间了,在用户体验上的体现就是卡顿。为了

2017-07-05 17:22:15 530

转载 何时使用copy,strong,weak,assign关键字 定义属性

父类指针可以指向子类对象 //定义block别名。typedef void (^LYItemOption)();@interface LYItemArrow : LYItem@property(nonatomic,strong) Class desController;@property(nonatomic,copy) LYItemOption opti

2017-07-05 14:20:53 487

转载 iOS 单例模式的写法

iOS的单例模式有两种官方写法,如下:1)不使用GCD的方式#import "Manager.h"static Manager *manager;@implementation Manager+(Manager *)defaultManager{ if(!manager) manager=[[self allocWithZone:NULL] init

2017-07-05 13:54:22 211

转载 33 个 2017 年必须了解的 iOS 开源库(包含swift)

1.IGListKit,作者是Instagram EngineeringInstagram 程序员做的,IGListKit 是数据驱动的 UICollectionView 框架,为了构建快速和可扩展的列表。另外,它有助于你在 app 结束对于大量视图控制器的使用。看看这篇来自 Ray Wenderlich 的教程,关于如何在项目中实现这个库,或者读读这篇Rodrigo

2017-06-26 18:13:28 419

转载 Xcode9 新功能

文章原地址:xcode9新功能 点击打开原地址Xcode是用于为Apple TV,Apple Watch,iPad,iPhone和Mac创建应用程序的完整开发人员工具集。Xcode开发环境采用tvOS SDK,watchOS SDK,iOSSDK和macOS SDK的形式捆绑Instruments分析工具,Simulator和OS框架。Xcode 9的亮点X

2017-06-07 10:21:51 4514

转载 Xcode9通过Wifi连接设备进行调试

升级到Xcode9.0之后,可以通过Wifi连接iOS或tvOS设备进行无线调试。要求: Xcode 9.0 以上版本、macOS 10.12.4以上版本、iOS 11.0以上版本, tvOS 11.0以上版本操作步骤:1、打开菜单 Window > Devices and Simulators, 然后在打开的菜单中选择 Devices选项.2、通过数据线将您的

2017-06-07 10:20:10 1942

转载 iOS GCD中级篇 - dispatch_semaphore(信号量)的理解及使用

理解这个概念之前,先抛出一个问题问题描述:假设现在系统有两个空闲资源可以被利用,但同一时间却有三个线程要进行访问,这种情况下,该如何处理呢? 没错,这里,我们就可以方便的利用信号量来解决这个问题。 1、信号量:就是一种可用来控制访问资源的数量的标识,设定了一个信号量,在线程访问之前,加上信号量的处理,则可告知系统按照我们指定的信号量数量来执行多个线程

2017-05-24 11:43:23 661

转载 UILabel样式自定义(同一个Label展示不同颜色,字体)

在开发中,有时会遇到某字符串字体跟其他的不一样的需求第一个字的字号会不一样 这个时候,其实用一个UILabel就可以轻松搞定了,方法如下:- (void)smallRMBByLabel:(UILabel *)label font:(int)font{ //label 需要操作的Label //font 该字符的字号 NSMutableAttrib

2017-05-10 16:05:04 577

转载 iOS中图片压缩的常见方法

开发中经常会碰到从手机相册中选择图片的需求,选择图片这个过程是一个消耗性能的过程,取决于手机图片的大小,如果手机像素非常高,图片的尺寸非常大,这个时候就会变得很消耗性能,比如一张图片5兆,这个时候选择后加载的时候就会有些卡顿,内存开始大幅升高,仔细想想也没有这种必要去加载这么大的图片,所以总结了两种处理方法,提供参考1:对图片进行压缩,iOS的API中提供了函数进行压缩,代码如下:NSDa

2017-05-06 12:27:04 690

转载 iOS - 通讯录开发,名字按拼音首字母分组排序

应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序。以下方法已经封装好,复制到项目中直接可以使用。该方法是使用UILocalizedIndexedCollation来进行本地化下按首字母分组排序的,是建立在对对象的操作上的。不同于以前的那些比如把汉字转成拼音再排序的方法了,效率不高,同时很费内存。但该方法有一个缺点就是不能区分姓氏中的多音字,比如“曾”会被分到"C"组

2017-04-29 19:21:53 3448

转载 iOS_UITextField_secureTextEntry 切换填坑

一丶切换明文/密文有多余空格1.png如图,会有空白;3.png解决方法- (IBAction)eyeBtnClick:(UIButton *)sender{ sender.selected = !sender.selected; self.pswTextField.secureTextEntry = !sende

2017-04-19 19:42:04 903

转载 tablviewcell中圆角处理 离屏渲染问题

@implementation TableViewCell- (void)awakeFromNib{    [super awakeFromNib];        self.image1.layer.cornerRadius = self.image1.frame.size.width/2.0;    self.image1.layer.masksToBounds

2017-04-18 18:47:58 209

转载 Button--左文又图 上下图文 属性

button 文字图片上下/左右经常会用到,记录一下上下:    self.rechargeButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//使图片和文字水平居中显示    [self.rechargeButton setTitleEdgeInsets:UIEdge

2017-04-18 15:57:49 467

转载 ios文件预览

http://blog.csdn.net/u013749108/article/details/45042147在我们的app中可能会涉及到doc,docx,pdf,xls等格式的文档预览,或者调用第三方app打开文档的功能。如果不是严格要求,使用UIWebView打开是一种最为简单快捷的方式(具体方法很简单,在此就不多做说明)。下面说的是如何使用iOS自带的文档预览功能。

2017-04-11 15:11:43 515

转载 iOS tableview cell的展开收缩

#import "ViewController.h"@interface ViewController ()UITableViewDataSource,UITableViewDelegate>{    NSMutableArray *_allArray;//创建一个数据源数组    NSMutableDictionary *dic;//创建一个字典进行判断收缩还

2017-04-10 11:07:12 792

转载 iOS启动页的设置

iOS启动页其实很简单 只要设置正确 尺寸格式正确就可以正常显示的Step11.点击Image.xcassets 进入图片管理,然后右击,弹出"New Launch Image"2.如图,右侧的勾选可以让你选择是否要对ipad,横屏,竖屏,以及低版本的ios系统做支持.这边我选了ios8.0,ios7.0,ios6没有做支持.Step2

2017-03-27 14:38:24 609

转载 iOS------GCD的使用小结

多线程相关概念多线程编程技术的优缺点比较?GCD中的三种队列类型The main queue(主线程串行队列)Global queue(全局并发队列)Custom queue (自定义队列)Group queue (队列组)GCD中一些系统提供的常用dispatch方法欢迎访问作者个人博客www.dullgrass.com,更多好的文章与您分享多线程相关概念进程与线程进

2017-03-14 17:03:06 182

转载 惊了-iOS-图文表并茂,手把手教你GCD

前言对初学者来说,GCD似乎是一道迈不过去的坎,很多人在同步、异步、串行、并行和死锁这几个名词的漩涡中渐渐放弃治疗。本文将使用图文表并茂的方式给大家形象地解释其中的原理和规律。线程、任务和队列的概念异步、同步 & 并行、串行的特点一条重要的准则一般来说,我们使用GCD的最大目的是在新的线程中同时执行多个任务,这意味着我们需要两项条

2017-03-14 16:28:56 296

转载 iOS----GCD

http://www.cocoachina.com/ios/20160804/17291.html如果ABC三个任务中如果有执行异步的请求,那么在dispatch_group_notify最终任务执行中,那个异步请求不一定毁掉结束。在这里给大家介绍针对这种问题另一个API。dispatch_group_enter/dispatch_group_leavedi

2017-03-14 11:13:02 236

转载 iOS-字幕滚动

三方库介绍 Wonderful介绍的原因,不止是他可以实现字幕滚动,甚至说主要是颜色相关。初步的字幕滚动.gif通过对上述库的二次封装我们还可以实现一些更加方便的操作,如上图,滚动的字幕仅仅只是普通的字符串,颜色单一,如果我们拿到的是富文本呢,要显示多种颜色和样式呢,因此我们要进一步的封装,然后应用到我们的项目中实现如下图的效果。在这里分享主要是觉得这个库很好远不止

2017-03-13 17:33:54 630

转载 iOS-如何设置按钮高亮的背景颜色

分析:通过按钮的不同的点击事件状态来设置背景色,或者不同的状态设置背景图片1.通过按钮的事件来设置背景色2.通过把颜色转换为UIImage来作为按钮不同状态下的背景图片3.同方法二,直接用图片设置不同状态下的背景图片1.通过按钮的事件来设置背景色1.通过按钮的事件来设置背景色- (void)viewDidLoad { [super viewDidLoad];

2017-03-10 15:45:47 1789

转载 2017,我的iOS进阶规划

原文去年的11.11号我正式开始了我的程序员生涯,成为了一个iOS程序猿,到现在已经一年多了。一年时间说长不长,说短也不短,之前我对自己2016年的目标也没有什么规划,毕竟作为一个半路出家,刚入行的菜鸟来说,懂的实在是太少,我也不知道这一年里面我需要往哪个方向努力,需要掌握一些什么技术,反而是有点好高骛远了,想要什么都会,swift,js,python都学了一段时间,游戏也看了一下

2017-03-08 10:31:45 398

转载 Runtime在实际开发中的应用

原文前言本文并不是Runtime原理从入门到精通之类的教程, 并不会涉及到过多的原理概念描述, 而是介绍在实际开发中如何使用Runtime解决相应的问题, 具体的应用在之前的两篇网络层博客和以后都博客中都会有所体现. 全文约八千字, 预计花费阅读时间20 - 30分钟.目录Protobuf解析器消息转发三部曲安全的JSon

2017-03-07 17:23:01 334

转载 源码推荐:Json/xml自动生成model类插件 高度自定义的TabBarController

Json/xml自动生成model类插件(上传者:netyouli)自动把json或者xml字符串自动生成模型类文件内容;避免手工创建模型类的麻烦和错误率(提高开发效率);自动生成类名称首字符大写;生成的模型类与WHC_Model解析json库完全匹配;支持xml/json字符串和dictionary字符串。项目地址 导航渐变列表悬停置顶效果(上传者:ZhouJia

2017-03-07 17:12:05 357

转载 一些第三方插件

一:源代码实例一个针对iOS模块化开发的解决方案快速搭建项目源代码模仿网易新闻做的精仿网易新闻支付宝高仿版高仿百度传课iOS版模仿一元云购wordpress源代码v2ex源代码(文章类型,若报SVProgressHUD错,则把Podfile中的SVProgressHUD移除)PH

2017-03-07 16:56:48 2178

转载 iOS 更加优雅便捷的UIAlertView/UIAlertController封装使用

前言:之前做过一套关于UIAlertView/UIAlertController的混合封装,详见:iOS (封装)一句话调用系统的alertView和alertController  这个是将alertView和alertController做了版本适配封装在一起的,提供了变参和数组两种方式,不过现在看来,虽然是“一句话”调用,但并不是很优雅的方式。这次,改变了方案

2017-03-07 15:34:17 1407

转载 源码推荐:仿写映客直播 iOS快速切换主题等

仿写映客直播(上传者:五仁月饼)工作之余写的,基于IJKPlayer播放,对内存做了处理。目前已完成直播列表和直播间的搭建,后续还会慢慢完善。项目地址publishImageAndVideoAnsRecord(上传者:zlj520dy)因为公司有很多模块,几乎每个模块都需要发布视频、语言、照片。所以在很多库的基础上,搭建了一个集合,其中包括带placeHol

2017-03-07 15:06:50 442

转载 iOS 使用masonry的基本使用

把masonry框架载入工程后,请把以下两句宏定义写到头文件内,以便省略该框架语句的“mas_”前缀#define MAS_SHORTHAND#define MAS_SHORTHAND_GLOBALS现在先实例化两个UIView,用以测试布局 UIView *redView = [[UIView alloc]init]; UIView *blueView = [[U

2017-03-07 14:26:15 4640

转载 iOS之两圆之间标准圆的随机生成

思路一:对于这个需求,我一开始也陷入了写死数据的套路,但是在兼容大小圆半径上做了一定的兼容,大致的将大圆切分成9块,然后在除了中间区域外的8块区域再生成一系列的伪标准圆。然后取值时现随机选取8块区域,再随机从块区拿取伪标准圆: 很明显,在 1、3、6、8 块中及中间块 存在很大的误差,明显也不可取思路二:根据数学思路,寻找标准圆:1、

2017-03-07 10:52:10 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除