
iOS开发
沸沸腾
现在对自己坏一点,将来社会就会对你好一点
展开
-
使用autolayout自定义动态高度的cell
关于使用autolayout创建动态cell,网上也有不少的文章,但是里面的内容都是说的一个问题,简称换汤不换药,都是说的一些UILabel或者UITextView等等一些控件显示的文本内容不同来实现不同的高度。但是我们平常使用的自定义cell很多都是显示不同数量的控件,来显示不同的高度,比如微博首页,饿了么首页那些cell,都是下面显示不同数量的控件来显示不同高度的cell,那么下面就让我们一起看原创 2015-09-26 11:21:19 · 1236 阅读 · 0 评论 -
【iOS开发-图层】自定义图层的两种方式
想要自定义图层,只需要构建一个类继承CALayer方法自定义好的图层就需要在图层上面画一些东西有两种方法重写drawInContext方法自定义的图层下面的方法,然后必须自定义的图层对象显示调用 [layer setNeedsDisplay]然后才会调用这个方法;自定图层文件- (void)drawInContext:(CGContextRef)ctx { CGContextSetRGBF原创 2015-06-10 14:09:16 · 1102 阅读 · 0 评论 -
【iOS开发-图层】创建图层,位置,锚点
自定义图层//创建一个新的图层 CALayer *layer = [CALayer layer];//设置图层的大小layer.bounds = CGRectMake(0, 0, 100, 100);//设置图层的位置layer.position = CGPointMake(100, 100);//设置图层的背景颜色layer.backgroundColor = [UIColor bl原创 2015-06-10 13:21:58 · 759 阅读 · 0 评论 -
【iOS开发-图层】图层的获取与一些属性
图层每一个控件都有自己的一个图层,这个空间的所有东西就是显示在这个图层上面的,控件本身没有显示东西的功能,只有拥有了图层才能显示东西图层的获取CALayer *layer = self.testView.layer;使用UIView的图层为例UIView本身只有一个图层,主图层self.testView.layer.borderWidth = 10;//设置边框大小 self.testVie原创 2015-06-10 13:12:31 · 1376 阅读 · 0 评论 -
【iOS开发-动画】CABasicAnimation实现动画
平移动画//创建对象CABasicAnimation *anim = [CABasicAnimation animation];// keyPath决定了执行怎样的动画, 调整哪个属性来执行动画 anim.keyPath = @"position";// toValue : 最终变成什么值// byValue : 增加多少值 anim.byValue = [NSValue va原创 2015-06-10 14:48:42 · 614 阅读 · 0 评论 -
关于xcode插件不能使用的问题
例如VVDocument插件首先下载安装VVDocument插件然后进入/Applications/Xcode.app/Contents/Info.plist 打开plist文件 找到DVTPlugInCompatibilityUUID 然后复制后面的value值然后,前往文件夹,进入~library/Application Support/Developer/shared/Xcode/Plug-原创 2015-06-27 08:08:59 · 513 阅读 · 0 评论 -
【iOS开发-画线】使用贝塞尔曲线(UIBezierPath)画线
步骤://创建贝塞尔曲线对象UIBezierPath *currenPath = [UIBezierPath bezierPath];currenPath.lineCapStyle = kCGLineCapRound;//拐弯处为弧线currenPath.lineJoinStyle = kCGLineJoinRound;// 设置起点[currenPath moveToPoint:start原创 2015-05-19 15:13:34 · 2599 阅读 · 0 评论 -
【iOS开发-手势】iOS中各种手势总结
iOS中支持的手势事件UITapGestureRecognizer(敲击) UIPinchGestureRecognizer(捏合,用于缩放)UIPanGestureRecognizer(拖拽) UISwipeGestureRecognizer(轻扫) UIRotationGestureRecognizer(旋转)UILongPressGestureRecognizer(长按)UITa原创 2015-05-19 17:27:33 · 1618 阅读 · 0 评论 -
【iOS开发-截图】截图并保存相册
截图+ (instancetype)captureWithView:(UIView *)view{ // 1.开启上下文 UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0); // 2.将控制器view的layer渲染到上下文 [view.layer renderInContext:UIGr原创 2015-05-18 18:10:35 · 573 阅读 · 0 评论 -
【iOS开发-触摸】移动的UIView例子
iOS触摸方法://开始接触- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;- //在屏幕上移动- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;- //触摸结束- (void)touchesEnded:(NSSet *)touc原创 2015-05-18 17:08:31 · 633 阅读 · 0 评论 -
UITableViewCell系统自带的四种样式
系统自己的UITableViewCell样式有四种:1.UITableViewCellStyleDefault: Default样式:左边一个显示图片的imageView,一个标题textLabel,没有detailTextLabel。2.UITableViewCellStyleSubtitle: Subtitle样式:转载 2015-05-17 15:47:42 · 2411 阅读 · 0 评论 -
【iOS开发】关于设置界面的做法
设置界面 1.定义一个Item类为基类(有图片,标题,点击要做的事),右边有箭头的就定义一个箭头类继承这个类(目标控制器),有开关就定义一个开关继承这个类。 2.定义一个cell类,cell类里面包括item基类对象,传入不同的item子类,就创造不同的cell 3.创建一个cell组,每一个组就有一个数组,放不同cell,组类还有头尾标题 4.创建一个设置界面继承UITableViewCo原创 2015-05-17 19:52:41 · 468 阅读 · 0 评论 -
【iOS开发-多线程】使用NSOperation创建线程(使用较多)
NSOperationNSOperation封装了GCD的一些操作,使用更加面向对象的方式实现多线程创建多线程的步骤先将需要执行的操作封装到一个NSOperation对象中然后将NSOperation对象添加到NSOperationQueue中系统会自动将NSOperationQueue中的NSOperation取出来NSOperation是个抽象类,并不具备封装操作的能力,必须使用它的子类原创 2015-05-17 15:01:53 · 757 阅读 · 0 评论 -
【iOS开发-动画】iOS开发动画实现合集
前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗。本文会介绍UIView效果的实现方法,非核心动画。一、使用UIView类实现动画基本写法,代码必须放在Begin和Commit之间:[UIView beginAni转载 2015-04-29 16:46:50 · 412 阅读 · 0 评论 -
【iOS开发TableView】TabelView自定义cell
自定义cell有两种方式:第一种:通过创建xib文件。①首先创建xib文件②创建xib文件对应 的模型A,名字与xib文件一样,并继承UITableViewCell类,并实现cellWithTableView的构造方法。③在interface builder里更改xib文件默认的类,为第二步创建的模型类。④创建数据模型B,并且A中包含数据模型B⑤A通过懒加载B方法(就是重写原创 2015-03-30 15:16:24 · 953 阅读 · 0 评论 -
【iOS开发】简单UI部分UIButton的创建和UITextField的使用
今天主要是学习了UIButton的创建。在Main.stroyboard文件中拖button控件。然后是在ViewController.m文件中声明方法,与变量,变量与方法的声明:注意:1》控件变量要声明成weak的,并且变量类型是IBOutlet的,前面才会有圈圈。关联控件直接拖线。2》方法的声明要是(IBAction)的,前面才会有圈圈。变量关联控件原创 2015-03-15 12:42:59 · 462 阅读 · 0 评论 -
【iOS开发-动画】CAKeyframeAnimation创建动画
按照一个路径移动CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];anim.keyPath = @"position";//设置四个点 NSValue *value1 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];NSValue *value2 = [NSValue va原创 2015-06-10 15:38:58 · 429 阅读 · 0 评论 -
【iOS开发-动画】动画组CAAnimationGroup
动画组可以让很多动画一起执行。//创建第一个动画 CABasicAnimation *anim1 = [CABasicAnimation animation];anim1.keyPath = @"transform.rotation";anim1.toValue = @(M_PI);//创建第二个动画 CABasicAnimation *anim2 = [CABasicAnimation原创 2015-06-10 17:47:41 · 573 阅读 · 0 评论 -
关于MVVM模式的简单入门
也是最近一段时间才知道MVVM模式,啃了一下午的英文文档终于有些了解这个模式,国内对这个模式的文档大都是翻译国外的,而且文档也比较少,对于新手来说入门也是比较困难的,那么今天我就把我所理解的一些关于MVVM的思考分享一下,帮助大家快速入门。MVC模式想必大家都很熟悉了,到处都是用这个模式,我从编程入门就一直接触这个模式,压根就不知道MVVM模式。MVC模式分为Model,View,Controlle原创 2015-10-25 18:55:42 · 6298 阅读 · 0 评论 -
iOS开发怎么定位问题出错的代码位置
起因 有不少人在评论发一些崩溃信息,问我程序怎么回事,其实如果你知道了程序崩溃在哪行代码崩溃了,就很容易定位问题了。android开发看崩溃log就能看到具体哪行代码出问题,那在iOS开发怎么快速定位到具体哪行代码崩溃呢。步骤1在xcode添加一个通用断点就行了。方法如下:点击项目导航断点那,如图步骤2点击+号:转载 2015-07-23 02:19:39 · 2351 阅读 · 0 评论 -
【iOS开发-网络】使用NSURLSessionDataTask发送get和post请求
NSURLSessionDataTask是iOS7以后才会有的,是苹果为取代NSURLConnection所出get请求//得到session对象NSURLSession *session = [NSURLSession sharedSession]; NSURL *url = [NSURL URLWithString:@"http://localhost:8080/TFServer/video"原创 2015-06-14 14:29:56 · 6936 阅读 · 0 评论 -
【iOS开发-网络】使用NSURLSessionDownloadTask下载任务(有下载进度)
要想有下载进度就要用NSURLSessionDownloadTask的代理方法//这个要创建NSURLSessionConfiguration对象NSURLSessionConfiguration *scf = [NSURLSessionConfiguration defaultSessionConfiguration];//创建session NSURLSession *session原创 2015-06-14 15:25:59 · 2734 阅读 · 0 评论 -
【iOS开发-网络】使用get请求发送和接受数据
发送网络请求要使用异步的方式,不能使用同步的方式并且异步的get请求有两种方式第一种使用 sendAsynchronousRequest 方法实现 //设置请求路径 NSString *urlStr = [NSString stringWithFormat:@"http://172.16.20.107:8080/TFServer/login?username=%@&pwd=%@",原创 2015-06-11 21:30:15 · 815 阅读 · 0 评论 -
【iOS开发-网络】AFN的使用
AFN的下载地址https://github.com/AFNetworking/AFNetworking下面也有具体的使用方法下载好解压,把AFNetworking文件夹拖入项目引入头文件#import "AFNetworking.h"get请求//创建一个管理者AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager原创 2015-06-14 21:18:46 · 783 阅读 · 0 评论 -
【iOS开发-网络】使用NSURLSessionDownloadTask下载任务(不能知道下载进度)
使用NSURLSessionDownloadTask下载大文件,默认下载位置为temp临时文件,下载好就会被删除,所以下载完成以后我们要把文件移动到caches文件夹//创建sessionNSURLSession *session = [NSURLSession sharedSession];//创建URLNSURL *url = [NSURL URLWithString:@"http://l原创 2015-06-14 15:07:09 · 3465 阅读 · 0 评论 -
【iOS开发-网络】使用NSURLSessionDownloadTask断点下载
断点下载也要实现代理方法开始:创建task,开始任务 暂停:销毁task,保存resumeData 恢复:重新创建task,传递resumeData//开始下载- (void) start { //创建NSURLSessionConfiguration对象 NSURLSessionConfiguration *scf = [NSURLSessionConfiguration de原创 2015-06-14 15:44:34 · 708 阅读 · 0 评论 -
【iOS开发-网络】大文件的断点续传(断点下载)
要想实现断点续传,暂停的时候要取消connection连接, 开始下载的时候要给服务器发送头信息,告诉他要请求多长的数据,从哪里开始//暂停 if(sender.selected) { [self.conn cancel];//取消连接 self.conn = nil;//开始 } else { //创建url原创 2015-06-14 12:20:15 · 996 阅读 · 0 评论 -
【iOS开发-网络】关于大文件下载
大文件下载要使用NSURLConnection的代理方法首先创建好url发出请求//创建url NSURL *url = [NSURL URLWithString:@"http://localhost:8080/TFServer/resources/videos/minion_01.mp4"];//创建请求NSURLRequest *request = [NSURLRequest request原创 2015-06-14 12:05:08 · 719 阅读 · 0 评论 -
【iOS开发-网络】解析json数据
解析json数据,要看json最外面是字典还是数组。根据这就把json解析为字典或者数据解析为字典//把最外层的解析为字典 NSDictionary *videosDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];//然后再拿到字典中的数组NS原创 2015-06-13 18:42:37 · 496 阅读 · 0 评论 -
【iOS开发-网络】两种常用的方法解析XML数据
解析XML数据常用的有两种方法第一种使用Google的GDataXMLNode解析XML数据 使用的是DOM方式解析 先把xml一口吞掉 然后一点一点的解析第二种使用苹果自带的NSXMLParser解析XML数据 使用的是SAX方式解析 一个标记一个标记的解析第一种使用步骤第一步首先把GDataXML文件夹放入项目中第二步更改Bulid Setting里面的东西更改头文件搜索路径在Heade原创 2015-06-13 21:12:55 · 475 阅读 · 0 评论 -
【iOS开发】关于图片加载的第三方框架SDWebImage的使用
SDWebImage是一个第三方框架,用于加载网络图片,还有其他一些好的功能使用步骤下载地址https://github.com/rs/SDWebImage下载以后解压,解压以后是下图然后将文件中的SDWebImage文件夹拖到项目中,然后在项目中使用使用框架#import "SDWebImage/UIImageView+WebCache.h"//引入头文件-(UITableViewCell *)t原创 2015-06-12 15:13:49 · 1024 阅读 · 0 评论 -
OC中全局NSMutableArray对象不能addObject局部对象
@interface ViewController ()@property(strong, nonatomic)NSMutableArray *videos;//全局对象数组@endfor (NSDictionary *videoDict in array) { Video *video = [Video videoWithDict:videoDict]; [self.vid原创 2015-06-12 13:57:27 · 3252 阅读 · 0 评论 -
【iOS-网络】使用异步的post请求
异步请求有两种,可参考get请求数据 // 2.1.设置请求路径 NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/login"]; // 2.2.创建请求对象 NSMutableURLRequest *request = [NSMutableURLRequest requestWith原创 2015-06-11 21:46:08 · 396 阅读 · 0 评论 -
【iOS开发-多线程】多线程创建的几种方法对比
几种创建线程的比较原创 2015-05-13 16:13:17 · 420 阅读 · 0 评论 -
【iOS开发-数据传递】关于两个Controller跳转时的数据传递
正向传递当一个控制器切换到下一个控制器的时候,这个时候的数据传递为正向传递,所以只需要跳转之前执行一个方法就行。/*就是执行控制器跳转之间的那条线之前做的方法*/- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ // 1.取得目标控制器 UIViewController *contactVc原创 2015-05-13 13:18:41 · 796 阅读 · 0 评论 -
【iOS开发-多线程】使用GCD创建多线程(iOS常用技术)
GCD全称是Grand Central Dispatch特点:自动利用CPU的多核技术自动管理线程的生命周期使用步骤定制任务将任务添加队列各类队列的特点关于同步和异步的两种执行方式 /** * 同步方式执行任务,不管是什么队列,都不会再开一个线程 */ dispatch_sync(<#dispatch_queue_t queue#>, ^{原创 2015-05-13 17:39:16 · 1296 阅读 · 0 评论 -
【iOS开发】使用代码创建UIButton
// 1.创建一个自定义的按钮 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; // 2.添加按钮 [self.view addSubview:btn]; // 3.设置按钮的位置和尺寸 btn.frame = CGRectMake(100, 100, 100, 100);原创 2015-03-15 13:51:22 · 454 阅读 · 0 评论 -
【iOS开发】关于显示一连串图片组成动画效果UIImageView的使用
关于使用UIImageView显示一串图片组成动画效果的总结:1》创建装这一串图片的容器,使用NSArrayNSMutableArray *images = [NSMutableArray array];2》使用NSBudle类加载进来图片,然后每次加载进来一个图片就赋给一个UIImage对象,(注意:使用这个类加载进来的图片可以清除缓存,但是其他方法加载比如 UIImag原创 2015-03-16 15:29:28 · 1718 阅读 · 0 评论 -
【iOS开发】关于xib文件的运用与封装
首先:建立xib文件,先建立下面的文件第二步:惦记xib 文件, 右边改成这样这样这个xib文件才能和AppView类绑定。这样才可以连线绑定。然后把读取xib文件的代码封装在AppView.m文件中。@implementation AppView+ (instancetype)appViewWith:(Apps *)app{ NSArra原创 2015-03-22 20:42:06 · 543 阅读 · 0 评论 -
【iOS开发】关于图片轮播器的实现代码
@interface ViewController () @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;@property (weak, nonatomic) IBOutlet UIPageControl *pageShow;@property(strong, nonatomic)NSTimer *Timer;原创 2015-03-27 21:29:05 · 661 阅读 · 0 评论