最近从通讯录读取电话号码,读出得号码如:134-1814-****. 而我需要的为11位纯数字,一直找方法解决此问题,今天终于找到了.. 分享一下…… 代码如下: NSString *originalString = @"(123) 123123 abc"; NSMutableString *strippedString = [NSMutableString stringWithCapacity:originalString.length]; NSScanner *scanner =…
一.引言 在iOS开发中使用动画时,可以通过设置动画的duration.speed.begintime.offset属性,来设置动画的时长.速度.起始时间及起始偏移. 用一个简单的例子来说明各个参数的的作用.动画很简单,一个红色的方块从左移到右边.动画的持续时间是1s,没有重复,效果如下. CFTimeInterval currentTime = CACurrentMediaTime(); CFTimeInterval currentTimeInLayer = [self.testLayer c…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
[前提知识] ARC:Automatic Reference Counting,自动引用计数 在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain.release.autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存. [问题] 在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC. 我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是…
一:一般在实际的项目应用中都会用到第三方框架SDWebImage去下载缓存图片,但在ios开发应用中,常常涉及对SDWebImage缓存图片的清除.本文所列出代码即是对SDWebImage缓存图片的清除. 二:代码: - (void)setGroup1 { RHCommonSection *section = [RHCommonSection commonSection]; section.header = @"第1组头部"; section.footer = @"第1组尾部…
最近在开发中遇到需要Cell中imageView和textLable位置和大小的情况,设计希望得到的结果如下图所示: 而TableViewCell默认样式,image是靠紧左边的,并且image和title之间的间隙较小 为实现设计中的效果,我们需要继承UITableViewCell,对cell.imageView.frame.cell.textLable.frame进行设置,控制它们大小和位置. - (void)layoutSubviews { [superlayoutSubviews]; s…
下载地址: http://code4app.com/ios/TQRichTextView/5244fe9c6803fa0862000000 1.首先找到AppDelegate类.不管一个project有多么复杂,多么多的类.但入口仅仅有一个就是AppDelegate类的didFinishLaunchingWithOptions方法.我们阅读别人源码的时候能够从这里入手. 在TQRichTextViewDemoproject中.这种方法中仅创建了一个TQViewController并设置为wind…
项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首…
今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要求是 22 Oct 2015 10:20:35 GMT 而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35 所以就上网搜寻答案 说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了 但是经过一番尝试后,无论是转格…
第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status bar appearance =NO 这个意思是:View Controller 不对status Bar 显示进行操作 第二步: 由于项目是一个以tabbarController的父类进行开发的;所以在这个父类里面添加如下方法: [[UIApplication sharedApplication] s…
在SwiftUI中显示模态视图 简介 这里教大家如何弹出一个简单的模态视图.分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B.我们要做的是在A视图中点击按钮跳转到B视图,然后再从B视图点击按钮返回到A视图. 步骤 在A视图中创建按钮和模态视图代码 struct ContentView: View { @State var isPresented = false var body: some View { Button(action: { self.is…
什么是 HTTP ? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信. HTTP 的工作方式是客户端与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端. 举例:客户端(浏览器)向服务器提交 HTTP 请求:服务器向客户端返回响应.响应包含关于请求的状态信息以及可能被请求的内容. 两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从…
概述 在动画中,我们会指定动画的持续时间.例如 scaleAnimation.duration = self.config.appearDuration 那么这个时间是怎么定义的呢?是指的绝对时间吗? 层级时间结构 layer在屏幕上的显示位置是根据父layer的位置以及本身相对于父layer偏移定义的. 与此类似,每一个layer都有自己的time space,计算本地时间(local time)时候,需要根据父layer的时间以及一定的转换规则来计算出本地时间. 这个规则就是CAMediaT…
Subversion 1.7 provides many benefits: svn1.7版本有以下好处: Improved performance. Increased speed for many common source control operations, most notably a significant increase in checkout speed.//改良性能 使souce control的各项操作速度提高,更显著地是提高了co的速度 Blame for modifi…
一 Block是什么? 我们使用^运算符来声明一个Block变量,而且在声明完一个Block变量后要像声明普通变量一样,后面要加; 声明Block变量 int (^block)(int) = NULL; Block变量的语法 数据返回值类型 (^变量名)(参数列表) = NULL 赋值Block变量 block = ^(int m) { return m * m; }; 使用Block变量 // 通过使用block变量,计算整型常量10的平方,并且打印在控制器输出 NSLog()); 示例代码:…
1,substringFromIndex 从索引0开发到到index的后面的字符 2,substringWithRange 取指定range里面的字符,左边为索引index,右边为截取的范围 3,substringToIndex 从索引0到给定的索引index 代码如下: NSString *str = "; // NSString *subString0 = [str substringFromIndex:-1]; //会放生越界错误 NSString *subString1 = [str s…
在使用UIButton时,有时候需要调整按钮内部的imageView和titleLabel的位置和尺寸.在默认情况下,按钮内部的imageView和titleLabel的显示效果是图片在左文字在右,然后两者紧挨在一起构成组合居中显示. 如下图:…
一般情况下,tableview中的section是会默认不随着tableview的滚动而滚动的,而是会等到属于这个section的cell滑完过后,然后往上顶(不知道大家能不能听懂=_=!) 有些时候这样显得不是很美观,而且有些项目是需要主要针对section而不是row 进行操作,所以这个时候控制section不悬停就显得很重要 这里有两种方法,直接贴代码吧 第一种: #pragma -mark 控制section不悬停 - (void)scrollViewDidScroll:(UIScrol…
不知大家有没有遇见过自己写的tableview被导航栏遮挡住的问题,反正我是遇见过! 因为在ios7以后所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉. 解决方案:可以使用ios7中的UIViewController新增的属性extendLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决. extendLayoutIncludesOpaqueBars指定了当ba…
如果你的UITableViewCell里面有一个Button需要响应事件,你会怎么做? 在Controller中使用 button父类的父类?   例如:UITableViewCell *parentCell = [[button superview]superview]; 这种方式可能是最快的,但是这样的问题是,它很脆弱,如果我们一旦把按钮向上或者向下移动一个层次,那么代码立刻就会出错,而且此时我们却很难发现出错的原因 所以,幸好UIView为我们提供了查找视图所在行的简洁方法,实现视图坐标系…
设置tableview的滚动范围 有时候tableview的footerview上的内容需要向上拖动界面一定距离才能够看见, 项目中因为我需要在footerviw上添加一个按钮,而这个按钮又因为这个原因点不中,所以找到了解决办法! 添加如下方法即可 -(void)scrollViewDidScroll:(UIScrollView *)scrollView { self.tableView.contentSize = CGSizeMake(0,MZT_SCREEN_HEIGHT); }…
数组中的元素是字典,字典中的某一个元素,比如说姓名,现在需要按照姓名的首字母来排序,怎么搞? 做法很简单,在字典中加一个元素,保存姓名的首字母,然后用下面的方法排序. - (void)sortWifiList { NSArray *resultArray = [myDataArray sortedArrayUsingFunction:compare context:NULL]; [myDataArray removeAllObjects]; [myDataArray addObjectsFrom…
例如,要截取一个字符串中,两个指定字符串中间的字符串,OC截取方法如下: // 要截取 "> 和 </ 之间的汉字内容: @implementationViewController - (void)viewDidLoad { [super viewDidLoad]; NSString *string = @"<a href=\"http\">这是要截取的内容</a>"; NSRange startRange = [str…
 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(8, 100, 300, 30)]; label.textColor = wordGaryColor; //未专门设置的字体颜色 NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"公司简介:发挥收到后即可圣诞节快发吧士大夫深刻的房价高速度开放和山东矿机山东科技…
先上图: 具体代码如下: #import "ViewController.h" @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> @property(nonatomic,strong)UITableView *myTableV; @property(nonatomic,strong)NSArray *contentAry; @end @implementation ViewCont…
NSString *strJTGZ = [NSString stringWithFormat:@"交通管制%d处 ",[jtgz intValue]]; NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc]initWithString:strJTGZ]; [attributedStr addAttribute:NSForegroundColorAttributeName value:[…
在iOS开发的过程中合理的使用宏定义能够极大提高编码的速度,下面是一些常用的宏定义,部分内容来自互联网 Log // 调试状态, 打开LOG功能 #ifdef DEBUG #define GLLog(...) NSLog(__VA_ARGS__) #define GLLogMethod NSLog(@"%s", __func__) #else // 发布状态, 关闭LOG功能 #define GLLog(...) #define GLLogMethod #endif 颜色 #defin…
文顶顶iOS开发博客链接整理及部分项目源代码下载   网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程却很难找.如果你是初学者,在学习了斯坦福iOS7公开课和跟着文顶顶的博客做项目之后,最快只需要2个月时间,就基本可以独立完成iOS App的开发工作.有经验的开发者也可以在该博客中寻找代码片段进行学习借鉴,必有所收获. 在此也向@文顶顶 表示严重感谢! 由于文顶顶博客博文繁多,每次找文章需要频繁的翻…
转自:http://www.jianshu.com/p/d9ec00d28237   序言 在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iOS繁重的开发中.本文着重介绍常用的Mac终端基本指令和快捷键,更加适合一些IOS新手学习和了解. Mac OS X的文件系统 Mac OS X本身是Unix内核的,采用Unix的多用户系统,采用Unix文件系统,所有文件都放在根目录/Users下面,不存在Windows下的盘符概念,用户登录系统后,…
原文出处: Jack_lin(@Jack_Lin_IOS ) 厚重·技术 序言 在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iOS繁重的开发中.本文着重介绍常用的Mac终端基本指令和快捷键,更加适合一些IOS新手学习和了解. Mac OS X的文件系统 Mac OS X本身是Unix内核的,采用Unix的多用户系统,采用Unix文件系统,所有文件都放在根目录/Users下面,不存在Windows下的盘符概念,用户登录系统后,自己的用户目…