自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KFC是做基的

成为代码界的咸蛋超人

  • 博客(48)
  • 收藏
  • 关注

原创 iOS 截图的实现

iOS 截图 , 长截图

2017-12-19 10:08:36 1719

原创 公司小程序项目开发有感

从9月19号SVN上新建工程开始到10月10号演示结束 , 为期二十多天的快速开发.人员:3个项目经理 , 5个产品经理 , 4个UI , 5个小程序研发 , 3个后台.开发面临的主客观问题: (1)没有专业前端开发,2个iOS,3个安卓,都是原生; (2)开发需求一直没有定稿,领导需求不断变变变; (3)高保真设计图出的缓

2017-10-12 17:18:06 1450

原创 进击的KFC:链式编程

链式编程: 1.链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3) 2.链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值) 代表:Masonry框架、SDAutoLayout框架(相对于前一个比较简单易理解) 首先我们自定义一个类 : Person 类

2017-09-11 15:46:30 324 1

原创 进击的KFC: translucent 和 automaticallyAdjustsScrollViewInsets

translucent 是 UITabBar类 的一个属性 , 默认YES; automaticallyAdjustsScrollViewInsets 是 UIViewController的一个属性,默认YES;translucent : 半透明的效果,能够模糊看到被bar遮盖的东西 automaticallyAdjustsScrollViewInsets : UIViewControlle

2017-03-16 14:40:48 376

原创 进击的KFC: OC实现UICollectionViewCell自适应文字宽度

OC实现UICollectionViewCell自适应文字宽度

2016-11-30 11:07:22 10715 4

原创 进击的KFC : View使用strong还是weak

懒加载写法:@interface ViewController ()@property (nonatomic, weak) UIView *weakView;@property (nonatomic, strong) UIView *strongView;@end@implementation ViewController/** UI控件使用弱引用创建方法 1. UIView *weakVi

2016-11-26 16:12:26 495

原创 开发小技巧2

1.TableView不显示没内容的Cell怎么办?self.tableView.tableFooterView = [[UIView alloc] init];2.自定义了leftBarbuttonItem左滑返回手势失效了怎么办?self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]

2016-08-15 19:55:17 292

原创 开发小技巧:1.iOS初始化系统主题

开发小技巧:1.iOS初始化系统主题 在AppDelegate中 初始化系统主题 , APP中全部用到这些东西的地方全被改变了(void)initSystemTheme{ //UIBarButtonItem:去除返回按钮的默认文字、设置按钮的颜色 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustme

2016-08-15 19:40:05 303

原创 FIR一个免费的App托管平台

FIR一个免费的App托管平台今天给大家推荐一个App分发平台,真的很好用!网址:http://fir.im/ 为什么用FIR?因为你的测试人员很单纯 他们会问: 什么是UDID? 你一步步不厌其烦的教他们怎么找到UDID, 换来的是他们的一个截图!!! 你就苦逼苦逼的一个字母一个数字的敲吧, 因为他们真的不知道iTunes里那个看起来像不能点的字符串是可以按cmd+c的.这还是好的, 要是碰

2016-08-15 19:35:46 5962

原创 进击的KFC:在同一个Xib内创建多个UITableViewCell来方便使用

首先在Xib中创建多个cell, 这个Xib文件的名字叫 : ManyCells.xib在我们需要使用的时候取出 :先创建一个空的cell : UITableViewCell *cell = nil; NSArray *nibCellObjects = [[NSBundle mainBundle] loadNibName:@“ManyCells” owner:nil options:nil];第

2016-04-29 09:15:32 367

原创 进击的KFC:利用Xib来创建UItableviewCell,并实现cell的自适应高度

1.在xib中给cell上拖控件,设置控件的约束,更新frame .设置xib对应的identifier2.在使用到这个自定义的cell的时候 , 设置identifier与上面的一致 先还是从重用池里面取cell,如果没有,利用xib来初始化我们对应所需的cell 3.涉及到cell要自适应高度,这时候我们在xib中最下面的那个控件进行约束,最重要的一点是这个控件距离cell的下边距要设一个固

2016-04-21 14:55:57 401

原创 进击的KFC:iOS WebView 如何通过js获取网页中所有图片并加入点击事件,实现浏览图片的功能

最近项目某个模块中要求可以实现对网页中图片的查看,并要求在多张图片的情况下可以实现滑动浏览。所以,问题的集中点就是如何获取所有的图片地址及添加图片的点击事件。不多说,直接上码!在网页加载完成时,通过js获取图片和添加点击的识别方式- (void)webViewDidFinishLoad:(UIWebView *)webView { [IDProgressHUD IDPlaceViewHideD

2016-03-21 16:45:49 1684 2

原创 进击的KFC:IOS开发之格式化日期时间

IOS开发之格式化日期时间

2016-01-26 17:04:30 376

原创 优化tableView性能(针对滑动时出现卡的现象)

优化tableView性能(针对滑动时出现卡的现象)

2016-01-25 15:31:31 390

原创 Cell工厂

Cell工厂 背景:最近在进行list页重构,list页的cell会有不同的展现形式,即同一个UITableView上多种cell并存。为了响应这种需求,我们考虑通过cell容器化的方式解决该问题。最理想的解决方法就是通过工厂模式来定制这些cell,当服务端告知我们某一个indexPath的cell的style时,我们就用相应类型的cell去填充。工厂模式介绍工厂模式可以分为简单工厂模式, 工厂方

2016-01-22 21:43:57 839

原创 进击的KFC:SQlite数据库增删改查

// // SqLiteManager.h // MySqlite // // Created by long on 16/1/3. // Copyright (c) 2016年 KFC. All rights reserved. // #import <Foundation/Foundation.h> #import "LanOuStudent.h" #i

2016-01-03 12:44:04 383

原创 进击的KFC:NSURLSession的使用

// // ViewController.m // NSURLSession // // Created by long on 16/1/3. // Copyright (c) 2016年 KFC. All rights reserved. // #import "ViewController.h" @interface ViewController () @

2016-01-03 12:39:47 457

原创 进击的KFC:懒加载

1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合3.代码示例/

2015-12-21 21:54:54 354

原创 进击的KFC:UI(14)集合视图UICollectionView

// 创建一个网状结构UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];// 设置网状结构的具体属性// 1.设置 最小行间距layout.minimumLineSpacing =10;// 2.设置 最小列间距layout. minimumInteritemSpacing = 10;//

2015-12-15 21:35:15 419

原创 进击的KFC:UI(13)多线程

一.概念.1.进程:正在活动(或者运行)的一个应用程序就是一个进程2.主线程 : 每一个进程 都能至少有一条线程 叫 主线程'3.线程:每一个线程都是相互独立的,可以执行任务 , 除了主线程以外的,都叫子线程.4.子线程可以有多个,但是线程是耗费资源的. 在我们 ios开发中一般不超过5条,注:3条差不多了.5.程序退出后 会清空线程的任务, 就是消灭应用程序对应的那条进程6.主线程 操

2015-12-15 21:30:55 387

原创 进击 的KFC:UI(12)动画

#pragma mark --- UIVIew动画 // UIVIew动画 // 动画特点:全部都是类方法 直接类去调用 // 1.UIVIew 直接调用 // 2.block方法// 1.UIVIew 直接调用 步骤: 1.开始动画 // 参数1:标识动画的字符,动画的ID // 参数2:携带参数 [UIView beginAnimation:

2015-12-15 21:29:03 273

原创 进击的KFC:UI(十一)自定义Cell

一.自定义Cell的步骤: (其实只要是自定义控件,都是这个步骤) 1.创建一个UITableViewCell 的 子类 2.重写初始化方法 3.把要添加的控件添加到cell的显示内容的区域:contentView 4.把系统的cell 改成自定义的cell 具体:1.command + N 创建一个继承UITableViewCell的文件2.重写初始化方法- (instanceTyp

2015-11-26 20:51:47 463

原创 进击的KFC:UI(十)UITableView的编辑和移动

一.pragma mark ——————– tableView的编辑tableView的四个步骤:1.开启tableView的编辑状态:我们需要的是table的可编辑状态 [self.tableView setEditing:!self.tableView.editing animated:YES];2.允许哪个分区的哪行是可以编辑的(默认都是能编辑的) - (BOOL)tableView:

2015-11-26 19:40:43 335

转载 进击的KFC:UI(九)UITableView 表示图

UITableViewUITableView是继承自UIScrollView的滚动表视图. 且只能纵向滚动 UITableView主要由Section(分区)和row(行数)两个NSInteger类型和UITableViewCell(单元格, 用于设置每行的具体内容的封装类)3个数据结构构成UITableViewCell是系统已经封装好的一个类, 它里面自带了一些控件, 比如UIImageVie

2015-11-26 17:40:36 526

原创 进击的KFC:UI(八)导航试图控制器,传值

一. UINavigationController导航视图控制器 导航视图控制器 :控制 其他视图控制器 的 控制器 其实它就是一个控制器(UIViewController),带一个view,带一个导航条)AppDelegate.m中所做:让导航视图控制器作为window的根视图控制器 // 1.初始化一个视图控制器 RootViewController *rootVC = [RootVi

2015-11-26 16:55:47 529

原创 进击的KFC:UI(七)滚动视图 和 分页按钮

一.pragma mark - UIScrollView滚动视图思考套路: 1.找适合的代理方法 2.从方法中 操作要改变的 3.判断时的条件:偏移量,活动范围,当前的scrollView// 1.初始化UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[UIScreen mainScreen].bounds];//

2015-11-26 16:13:50 434

原创 进击的KFC:UI(六)UISegmentControl,UISlider,NSTimer,UIImageView

一.pragma mark ————- UISegmentedControl 分段按钮———————————–继承于UIControl 1.初始化 UISegmentedControl seg = [UISegmentedControl alloc] initWithItems:(NSArray ) 注意这个初始化用到的数组里的元素 必须是字符串 或者 镂空图 (1)字

2015-11-26 11:35:48 390

原创 进击的KFC:UI(五)手势识别器

一.什么是⼿势识别器? 手势类:UIGestureRecognizer是一个抽象类 , 其具体功能交给子类去实现.二.⼿势识别器的分类 手势识别器有7个子类: 分别识别:轻拍手势,平移手势,长按手势,轻扫手势,缩放手势,旋转手势,边缘扫手势 一旦指定的手势被识别我们可以执行我们自己定义好的操作 三.如何使⽤识别器 我们不会直接使⽤⼿势识别器这个抽象⽗类,⽽是根据需要使⽤特定的⼿势识别器创

2015-11-26 10:05:16 396

原创 进击的KFC:UI(四)实现划屏效果,用View实现Button的效果

实现划屏效果:UITouch类:保存手指信息(触摸的点)开始触摸方法:-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch = [touches anyObject]; // 取出当前触摸的点: CGPoint p1 = [touch locationInV

2015-11-14 14:15:08 481

原创 进击的KFC:UI(三)自定义视图、视图控制器

⼀、⾃定义label-textField视图 1.1⾃定义视图:系统标准UI之外,⾃⼰组合⽽出的新的视图。 iOS提供了很多UI组件,借助它们,我们可以做各种程序。 尽管如此,实际开发中,我们还需⾃定义视图。积累⾃⼰的代码库。 ⽅便开发。⾃⼰封装的视图,能像系统UI控件⼀样,⽤于别的项⺫ 中,能⼤⼤降低开发成本,提⾼开发效率。1.2⾃定义视图步骤 根据需求的不同,⾃定义视图继承的类也有所

2015-11-14 11:45:03 379

原创 进击的KFC:UI(二)基础视图、程序启动流程

本讲主要讲基础视图:UITextField,UIButton,delegate以及程序的启动流程一.#pragma mark ——-UITextField UITextField(输⼊框):是控制⽂本输⼊和显⽰的控件。在App中UITextField出现频率也⽐较⾼。 UITextField和UILabel相⽐,UILabel主要⽤于⽂字显⽰,不能编辑,UITextField允许⽤户编辑⽂字

2015-11-14 11:14:22 411

原创 进击的KFC:UI(一)UIView及其子类

#pragma mark --- UIViewUIView 代表一个矩形区域创建一个视图的4步骤:1.初始化: 起始点从(屏幕的)父视图左上角开始计算,为(0,0)点 (必须记住)UIView *view = [[UIView alloc] initWithFrame:CGRect(100,100,200,100)];2.设置一些属性view.backgroundColor = [UICo

2015-11-10 22:40:25 333

原创 进击的KFC:OC(十)内存管理高级

⼀、属性的内部实现原理 assign下的属性内部实现在Person.m中实现: // 实现set get方法,必须指定要赋值的成员变量 @synthesize name = _name; - (void)setName:(NSString *)name{ if (_name != name){ //加判断条件,赋同样的值时,只retain一次 [_name re

2015-11-07 19:46:05 336

原创 进击的KFC:OC(第九天):内存管理初级

⼀、内存管理介绍 内存的问题体现在两个方面:内存溢出,野指针异常 内存管理的⽅式: 垃圾回收(gc): 在OSX系统中用到 MRC(Manual Reference Count) // 手动引用计数 ARC(Auto Reference Count):自动引用计数 在ios开发过程中,用到的是引用计数的方法⼆、内存管理机制 OC采⽤引⽤计数机制管理内存,当⼀个新的引⽤指向对象时,引⽤计

2015-11-07 17:43:29 407

原创 进击的KFC:OC(八)属性、点语法、KVC

⼀、属性 1.属性是Objective-C 2.0定义的语法,为实例变量提供了setter、getter⽅法的默认实现. 能在⼀定程度上简化程序代码,并且增强实例变量的访问安全性 2.属性的定义 属性的声明:使⽤@property声明属性 例如:@property NSString *name; 相当于@interface中声明了两个⽅法(sette

2015-11-05 21:01:41 432

原创 进击的KFC:OC(七)类的扩展

⼀、掌握NSDate的使⽤ NSDate和NSDateFormatter1.NSDate是Cocoa中⽤于处理⽇期和时间的基础类,封装了某⼀给定的时刻(含⽇期,时间,时区) 获取当前时间:NSDate *dateNow = [NSDate date]; 注意NSLog(@“%@”,nowDate);⽆论你是哪个时区的时间,打印时总是打印对应的0时区时间。2.NSTimeInterval(即do

2015-11-05 20:19:07 533

原创 进击的KFC:OC(六)Block

pragma mark ——– Block语法一.Block的定义: Block:块语法,本质上是匿名函数(没有名称的函数).Block语法和函数指针很相似。课程回顾:函数函数:C语⾔中,实现某⼀功能的代码段。完整的函数包含两部分:函数声明、函数定义函数声明,即函数原型。例如:int sum(int x,int y);具有两个整型参数,⼀个整型返回值的函数。函数定义,即函数实现。例如:

2015-11-02 20:39:35 335

原创 进击的KFC:OC(五): 字典、集、数组排序

⼀、字典类 字典⽤于保存具有映射关系(key-value对)数据的集合。 对于“name:张三”来讲,key就是“name”,key对应的value是“张三” ⼀个key-value对认为是⼀个条⺫(Entry),字典是存储key-value对的容器。字典类的特点 与数组不同,字典靠key存取元素。 key不能重复,value必须是对象。 key 作为钥匙,要具有唯一性 在开发中,一

2015-10-31 13:56:36 347

原创 进击的KFC:(三)继承、初始化方法、便利构造器

⼀、继承 继承的特性: 1.继承是单向的(由上到下) 2.继承是可传递的 3.继承不能相互继承, 4.继承不能多继承 5.继承 就是 子类 继承 父类的所有实例变量和方法 继承的好处: 减少代码量 提高工作效率 继承中方法的调用:

2015-10-31 10:33:22 499

原创 进击的KFC:OC(二)实例变量可见度、方法、setter、getter

实例变量可见度、方法、setter、getter

2015-10-31 10:19:59 418

空空如也

空空如也

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

TA关注的人

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