自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试题

1.堆和栈的区别? 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量 的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可 能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别:1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立 即释放;

2016-02-23 18:38:54 358

原创 自定义的播放器

自定义播放器:1.初始化播放器:(1)根据网址进行编码  (2)对网址进行编码  (3)根据网址,创建视频项目对象 playerItem(4)创建视频播放器对象player(5)创建一个播放器承载对象,把播放器放到上面playerLayer(5)设置一下承载对象的尺寸(6)设置视频的填充方式(7)把播放器添加到layer层上 // 对网址进行编码 urlStr =[urlStr

2016-01-14 16:59:57 432

原创 AFNetworking

AFNetWorking是一个三方的网络请求第一次使用的时候,记得添加text/html到serialization的226行,一个数组中self.acceptableContentTypes = [NSSetsetWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",

2016-01-13 16:34:07 329

原创 xib

xib(只负责创建控件,不实现功能)创建xib文件的方式  1.在创建文件的时候,选择also create xib file 就会自动创建一个xib文件,文件和xib关联好了,直接用就可以了 2.需要在empty里创建一个xib文件,然后指定files owner,然后向文件里拖拽一个view,最后指定owner的self.view是哪个viewauto layout ----->横竖屏

2016-01-13 16:22:37 464

原创 小菊花和UITextField

UIActivityIndicatorView self.view.backgroundColor = [UIColor yellowColor]; self.indicator =[[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; self.indicat

2016-01-12 19:56:19 382

原创 UISearchController和谓词

UISearchController 搜索框通过searchBar设置frame self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; self.searchController.searchBar.frame = CGRectMake(self.searc

2016-01-12 19:15:03 354

原创 删除线

NSMutableAttributedString(在搜索的时候,关键词加高亮) NSString *oldPrise = @"¥ 5888"; NSUInteger length = [oldPrise length]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 400, 80)

2016-01-12 19:11:37 1019

原创 UIView的动画

UIView动画的第一种 // 1.动画 // 参数一:动画的播放时长 // 参数二:把要实现的动画效果,放到block里去完成// [UIView animateWithDuration:2 animations:^{// self.myView.frame = CGRectMake(100, 100, 150, 150);////

2016-01-12 16:41:56 231

原创 自定义瀑布流

自定义的瀑布流1.创建自定义瀑布流- (void)createView{ // 创建自定义的layOut CLFlowLayout *flowLayout = [[CLFlowLayout alloc] init]; // 设置四周的边框 flowLayout.edgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);

2016-01-12 16:34:04 279

原创 状态栏,tableView分区样式的设置

修改状态栏(哪一页需要改,在哪一页重写方法)// 9.0以后,修改状态栏的方法发生了变化,需要在当前要修改的viewController里重写方法- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}// 状态栏隐藏- (BOOL)prefersStatusBarHi

2016-01-12 16:25:10 490

原创 点击键盘,控件上移的方式

点击键盘,被挡住的控件的上移,回收键盘,控件回到原处,要实现这个功能,共有两种方法一:(通知中心,监听键盘的弹起和回收)1.监听键盘的弹起[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardWillAppear:) name:UIKeyboardWillShowNotific

2016-01-12 16:13:52 329

原创 layer动画(二)

layer动画三:点赞, button.adjustsImageWhenHighlighted = NO 取消button自带的点击效果 // 点赞 self.goodButton = [UIButton buttonWithType:UIButtonTypeCustom]; self.goodButton.frame = CGRectMake(50, 25, 50, 50

2016-01-12 16:07:19 308

原创 Layer动画(一)

layer动画控件可以拆成两部分,一部分是控件的样式,比如边框,文字等这些都是通过操作控件layer层完成的.另一部分是控件的功能,比如button的点击方法,这些都是通过自己的功能.layer动画主要就是给控件的layer层添加动画来实现效果一:1.旋转rotate CABasicAnimation *animation = [CABasicAnimation animation

2016-01-12 15:51:05 693

原创 Base64加密解密,钥匙串加密,公钥私钥加密解密

Base64加密解密 // 对字符串进行加密 NSString *encodStr = [GTMBase64 encodeBase64String:@"程锦乐眼睛小"]; NSLog(@"%@", encodStr); // 解密 NSString *decodeStr = [GTMBase64 decodeBase64String:encodStr]

2016-01-08 16:25:08 4296

原创 MD5加密

MD5加密一般客户端或者服务器需要发送一些比较私密的东西的时候会对数据进行加密操作,用户把数据传给服务器之后,一般来讲就原样存到数据库中加密主要是通过各种算法,将一个明文转换成密文的过程,加密没有绝对的安全,只是照比原来的明文相对安全,现在公司都不会使用单一的加密方式,越复杂的算法,越难破译加密之后的内容一般都是原样保存到服务器上,等到再有类似操作,直接用密文进行比较就可以进行判断,所

2016-01-08 14:09:19 378

原创 豆瓣收藏的功能数据库

数据库中为了open,createTable,放入初始化方法里+ (DataBaseHandle *)shareDB{ static DataBaseHandle *db = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ db = [[DataBaseHandle

2016-01-05 19:19:46 373

原创 UIAlertController

UIAlertController1.创建 参数三有两个UIAlertControllerStyleAlert, UIAlertControllerStyleActionSheet UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"你好" message:@"加油加油" preferredSty

2016-01-05 18:49:43 506

原创 KVO,通知中心

KVO  key -- value -- observer  键值对观察者它的主要作用就是用来监听属性里的内容发生的变化监听的对象必须是观察者属性, 参数二:要监听的属性必须和keyPath保持一致,否则不会触发方法, 参数三:触发的条件,就是旧值和新值变化的时候(绘制走势图,形势图)// self.stu = [[Student alloc] init];// // 观

2016-01-05 17:55:02 297

原创 数据库

数据库1.创建一个数据库对象,为了保证数据库对象在整个工程里是唯一的,通过单例模式进行创建;单例必须是+号方法,对方法名也有要求,比如要以share,main,standard,default;常见的单例UIMenuController, NSUserDefaults,NSFileManager等+ (DataBaseHandle *)shareDataBaseHandle;+ (Da

2016-01-04 16:56:54 267

原创 豆瓣收藏的功能封装

1.判断活动是否收藏过(使用时最号用一个属性保存返回值,方便之后操作)// 判断活动是否收藏过+ (BOOL)isActivityInPlist:(Activity *)activity;1.先将文件反归档  2.之后判断数组是否是空,如果是空返回NO  3.之后遍历数组,判断是否有元素,如果有返回YES,没有返回NO+ (BOOL)isActivityInPlist:(Acti

2015-12-31 17:45:43 295

原创 快捷菜单,对内容的复制,删除,选择

快捷菜单UIMenuController1.创建对象   2.通过手势对象(长按)找到触发的视图    3.给菜单进行定位    4.让菜单显示出来     5.必须实现的方法(称为第一响应者)   UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarg

2015-12-31 17:38:00 600

原创 数据持久化

iOS中用沙盒存储数据,安全性高沙盒路径每运行一次,文件名就会变化一次,保证在以后的使用中,不会被入侵,保证存储数据的安全性沙盒里有三个文件夹  Documents

2015-12-30 15:22:47 281

原创 UICollectionView

创建一个collectionView之前需要先创建瀑布流 // 官方提供的一种瀑布流效果 UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];在这里对每一个用来显示的区域称为Item,就相当于tableView上的cell设置item的尺寸 flowLayo

2015-12-29 22:33:33 224

原创 封装NetWorkingTool

1.协议方法,负责传数据.因为传值需要两种情况,所以是id类型- (void)bringResult:(id)result;2.然后根据方法调用传过来的网址,获取数据并且解析数据.因为是类方法,没有对象,所以代理人直接在函数里设置// 根据方法调用时候传过来的网址,获取数据,并且解析数据,负责解析数据+ (void)networkingWithStrURL:(NSString *

2015-12-29 22:14:32 292

原创 网络请求,get和post

网址的三种方式 1. Http:// 域名  2.Http:// losthost:8080   3.http:// 127.0.0.1  现在的网址将http -->https(安全证书  用钱)在data source粘代码,不粘代码用不了!!!!!!!! /*     NSAppTransportSecurity        NSAllowsArbi

2015-12-28 16:40:54 949

原创 XML和son的数据解析

XML的数据解析1.先设置一个开始解析的方法   2.把处理好的数据学生放到数组里,然后直接使用数组就可以了// 先设置一个开始解析的方法- (void)startParser;// 把处理好的数据学生,放到数组里,然后直接使用数组就可以@property(nonatomic, retain)NSMutableArray *stuArr;2.开始解析的方法----->1.先找到文

2015-12-25 17:47:06 390

原创 UI 和图片相关的知识点

UIActionSheet的初始化方法 UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"图片" delegate:self cancelButtonTitle:@"two" destructiveButtonTitle:@"从相册选取" otherButtonTitles:@"four", nil]; [ac

2015-12-25 17:22:03 274

原创 UITableViewController

可以用tableViewController来内嵌一个tableView,直接创建好tableView,不需要再签代理,直接使用创建cell的另一种方式,用注册的方式[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"reuse"]; UITableViewCell *cell =

2015-12-23 18:59:54 283

原创 UITabBarController

UITabBarController 是用来管理导航栏的导航栏是通过数组来管理数据的,用属性viewCintrollers来保存,tabbar也是  导航栏(44) + 状态栏(20) = 64  = 8 * 8 tabber = 49 = 7*7创建完导航栏之后,创建一个tabbar的按钮内容 naVc.tabBarItem RootViewController *rootVc =

2015-12-23 17:53:30 215

原创 Block传值

block分为两部分  ------  block需要调用才能使用(与函数调用类似)  左边:1.以返回值类型作为开头  2.后接一个小括号(^block)  3.最后的小括号里写参数的类型,没有就什么都不写   右边:1.^作为开头  2.(小括号里写形参列表)  3.大括号写函数实现的部分;// void (^block)() = ^(){// NSLog(@

2015-12-23 17:15:04 362

原创 UITableView的关键内容

1.第一种情况可以再tableView上加一个头视图,添加图片(不需要管理坐标) // 第一种情况:添加一个视图也可以是scroll// UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 200)];// imageView.image = [UIImage im

2015-12-22 18:25:48 258

原创 三个tableView的联动(省市区数组)

三个tableView的联动,分为两部分(1.省市区数组的数据解析)(2.判断是哪个tableView,显示不同的cell)需要在点击方法里获取需要操作的数组因为是三个tableView,只有一个tableView可以适应高度,其他的需要设置.两种办法1.将导航控制栏的透明度变成NO.但是需要在高度的基础上-64 // 这种设置,需要在高度的基础上-64// self.navi

2015-12-22 16:51:06 363

原创 tableView的编辑

tableView的编辑(tableView的协议方法)

2015-12-22 14:03:46 323

原创 手势

手势userInteractionEnabled叫用户交互,如果没有打开的话没有办法通过手势的方式和它进行交互,如果没有确定是否打开,打印一下就可以,没打开的对象打印会有提醒(一般只有lable,imageView是关的) self.image = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 300, 300)];

2015-12-21 19:19:58 247

原创 UITouch

Touch的方法- (void)touchesBegan ---->触摸开始(点击空白处回收键盘 , 其实就是让textField放弃第一响应者)- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [super touchesBegan:touches withEvent:event]; NSL

2015-12-21 18:43:32 322

原创 UItableView的自适应

自适应高度用的比较少,将代码封装好,能够理解就好,自适应高度其实也就是动态设置行高1.图片高度的自适应首先要知道在哪个协议方法里写(CGFloat)tableView  heightForRow......在这个方法里,主要计算图片的尺寸,来设置tableview的行高1.先定义一个image  UIImage保存着实际图片的尺寸,而imageView是我们看到的图片的尺寸通过它来

2015-12-21 17:11:21 451

原创 KVC

KVC(KEY - VALUE - CODING)键值编码1.首先需要新建一个Model (1) 在Model的.h文件里对有用的数据写成属性  (2)在.m文件中重写setValue forUndefinedKey方法(切记不要写做方法):这个方法是KVC里负责纠错的方法,只要key和属性名没有对上,就会执行这个方法(方法里什么都不用写)- (void)setValue:(id)valu

2015-12-21 17:00:09 311

原创 LTView和UIAlertView

UIAlertView(警告框) // UIAlertView// UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"1" message:@"2" delegate:self cancelButtonTitle:@"3" otherButtonTitles:@"4", nil];// // 给提示窗口加上输入框

2015-12-19 20:40:29 249

原创 UIButton

UIBUTTON1.创建方法(提供了便利构造器的创建方法,不需要管理内存)/ UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];// // 设置尺寸// button.frame = CGRectMake(100, 100, 150, 50);// button.background

2015-12-19 19:32:42 246

原创 UILable

UILable的属性1.添加文本.text label.text = @" 宋江 吴用 你好不好啊 你猜 我不猜 随便写点东西但是不知道写点什么所以就写了好多没用的东西 然而学ui不会得加油";2.设置文本颜色 .textColor label.textColor = [UIColor magentaColor];3.设置文本的对其方式 .textAlignment

2015-12-19 19:09:12 205

空空如也

空空如也

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

TA关注的人

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