- 博客(43)
- 资源 (1)
- 收藏
- 关注
原创 iOS开发 ----- webView和JS的简单交互
webView和JS的简单操作大多数情况下,我们一般都会用到js和本地交互,或者本地和js交互,所以,就记录一下,时间比较仓促,就先这么写写,后续还会补充一下iOS8新出的WKWebView的一些东西,今天先看webView1. js与本地交互在一般情况下,我们通过一个函数来拿到所有在js中的请求就是这个-(BOOL)webView:shouldStartLoadWithRequest:naviga
2016-01-11 23:14:25
579
原创 iOS开发 ----- 新的转场动画
新写的一个动画(其实是别人的)这里有自定义转场动画的解释 这里是Demo这里主要用到了layer的mask属性,用来实现这种扩散的效果-(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{ _transitionContext = transitionContext;
2015-11-04 22:50:40
426
原创 iOS开发 ----- 加载动画之牛顿摆的实现
牛顿摆动画自己看动画有一段时间了,但是还是不是很能理解其中的一些属性方法之类的东西,琢磨了一下午写了一个牛顿摆的动画,这里记录一下,一遍以后查看先上图先说下思路说下牛顿摆的大致运动过程 根据牛顿摆的原理,中间是不动得,只有两边在动 两边运动是一个以这条线的上方位原点,长为半径,然后做半圆运动 运动模式是先快后慢 当左边的摆下来的时候,右边的开始向上摆动,右边的摆下来的时候,左边
2015-10-29 19:54:03
2179
3
原创 iOS开发 ----- FMDB使用
SQLlite数据库操作采用FMDB作为第三方库,进行数据库操作Demo地址1 在沙盒目录下创建数据库 名为userInfoNSString * path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/userInfo.sqlite"];NSLog(@"%@",path);_dataBase = [[FMDatabas
2015-10-12 20:47:41
493
原创 iOS开发 ----- 自动循环滚动或引导页效果
AutoScroller一个简单的滚动视图,可以实现三种功能,比较简单,就不解释了,Demo链接1 在LoopScroller.h中,可以实现循环自动滚动,或滑动循环滚动1.1用法 LoopScroller * loop = [[LoopScroller alloc]initWithFrame:self.view.frame]; loop.arrayImage = @[@"page1"
2015-10-11 16:08:09
475
原创 iOS开发 ----- UIViewController转场动画
UIViewController的转场动画1. 自从开始看UI,就一直有个问题,就是类似微信的那个页面切换的效果怎么实现,也就是这个效果想过ScrollerView,但这样的话,会增大VC之间的耦合度,导致管理起来很混乱,在加上tableView的话,分分钟不想写的节奏啊,于是乎开始爬各种博客,终于,找到了目前认为最完美的解决方案,这样写的话,可以完美的实现这样的效果,且VC之间的耦合度时最低的 D
2015-10-10 19:29:12
5312
2
原创 Ubuntu桌面消失以及打不开终端的解决办法
重要的事情一定要记录下来,不然就懵逼了这两天装了个ubuntu,本来想装逼,把桌面整的酷炫一点,没想到,差点废了整个系统用ccms调整特效,一不小心手贱把状态栏整没了,侧边栏也没了,dash也没了,终端也没了,就剩下桌面了,真是毕了狗了,百度了一大堆,终于被我机制的解决了,下边是流程,首先桌面上随便创建一个文件,然后选择用ubuntu软件中心打开然后搜索nautilus-open-terminal,
2015-10-01 01:53:13
20055
2
原创 iOS开发 ----- 上拉加载
上拉加载和前边类似,只是view放的位置不同,计算的方式不一样而已,原理是相同的贴个图,这个就可以看清楚了就直接贴代码了//// ViewController.m// 上拉加载//// Created by xiaoma on 15/9/29.// Copyright (c) 2015年 xiaoma. All rights reserved.//#import "ViewCon
2015-09-29 21:36:41
1440
原创 iOS开发 ----- 下拉刷新
下拉刷新百度一下,基本上都是三方库,MJ的,EGO的等等,基本没有自己写的(估计是我姿势不对),所以就自己想写一个,其实也很简单,下边说下原理1. UITableView是继承与UIScrollView的,所以可以检测滑动的状态2. 可以在屏幕外边放一个view,然后滑动的时候,改变他的frame,让他跟着出来3. 然后松手的时候,view移动到一个位置,tableView也定到一个位置,然后开始请
2015-09-29 21:34:39
1010
原创 iOS开发 ----- 网络请求5 ----- NSURLsession实现上传数据
NSURLSession上传数据前边写的是用AFNetWorking实现的上传,当时还比较懵逼,不知道自己怎么上传,今天又详细分析了一下,又扒了几篇博客,现在已经实现了自己上传,下边先说下原理1. 上传文本上传的时候,如果是只有文本的话,完全可以拼接到网址的后边,这样可以方便的上传数据2. 上传图片音频以及其他非文本数据2.1.1 这个上传就有点麻烦了,要拼接一系列的东西,然后转为data,进行传
2015-09-28 13:24:10
2669
原创 iOS开发 ----- 网络请求4 ----- 下载数据以及断点续传
NSURLSession下载文件这个是Block方式,相当的简单#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup aft
2015-09-26 18:57:50
671
原创 iOS开发 ----- 网络请求3 ----- 上传数据
上传数据本来想自己写的,不用第三方框架,结果要拼接HTTP请求头部信息,真是难为人啊,这TM根本没听说过啊,翻了几个Blog结果写的都不是很清楚,很蛋疼,不知道怎么弄,等有时间在研究下把这个是用AFNetWorking写的上传,凑合着看吧,等吧HTTPheader的那个搞定之后,在写一篇,真正自己实现上传数据#import "ViewController.h"#import "AFNetworki
2015-09-26 18:57:06
688
原创 iOS开发 ----- 网络请求2 ----- 请求数据
NSURLSession请求数据前边BB了那么多,下边该看看应该怎么实现了,分为GET请求和POST请求,然后用分别用代理和block来实现,也就是说将有4段程序,截图就不贴了,每什么好截的,控制台打印,数据明明白白的1.GET1.1 GET –> block实现必须调用resume方法,否则不会请求 所谓的block也就是在下边completionHandler这个block中编写请求数据的处理,
2015-09-26 18:56:33
690
原创 iOS开发 ----- 网络请求1 ----- 概览
iOS网络请求这几天在看关于NSURLSession的相关内容,结果阅看越多,阅看越乱,感觉里边有好多东西啊,又加上AFNetWorking这个三方库,简直头都大了,从头来,仔细分析一下,下边是我自己根据官方文档以及自己的理解所写,不足之处还请多多指教官方文档About the URL Loading SystemUsing NSURLSessionNSURLSessionNSURLSess
2015-09-26 18:55:33
738
原创 iOS开发 ----- AFNetWorkingSession
AFNetWorkingSession由于iOS9废弃了NSURLConnection,所以,原本的AFNetWorking里的hettrequestmanager这个应该是不行了,虽然依然可以用,但里边仍然含有已经废弃的方法,所以这里总结一下session的用法请求数据//启动一个sessionManager AFURLSessionManager * dataManager = [[AF
2015-09-24 20:03:38
1232
原创 iOS开发 ----- AFNetWorking
AFNetWorkingiOS中最常用的网络请求第三方库,可以方便的实现各种请求详情见GitHub最新版的库在Xcode6中运行会报错,因为加了nonnull导致的,而在最新版的Xcode7中,由于官方已经废弃了大量的类和函数,虽然可以运行但会出一大堆警告在iOS9中,已经废弃了NSURLConnection这个类,取而代之的是NSURLSession,而AFNetWorking还是支持NSURLC
2015-09-23 20:58:17
520
原创 iOS开发 ----- 网络请求
网络请求请求网络数据,常见有两种方式同步异步在iOS8中已经弃用了NSURLConnection,而启用NSURLSession,同时在iOS9中启用了https加密,所以和以往的方式不仅相同,下边做些整理同步请求 1//通过一个网址直接拿到数据,然后JSON解析即可,这种属于同步请求,阻塞主线程,影响执行效率 NSData * data = [NSData dataWithConten
2015-09-22 20:06:38
727
原创 iOS开发 ----- APPDelegate回调
APPDelegate中的block回调类似微信的一种写法,没登陆之前是登陆界面,登陆完成之后跳转到另一个界面有登陆信息的时候,开启APP是一种界面这种功能的实现可以通过block回调的方式实现在第一个在第一个页面执行那个相关的动作,然后给第一个界面的block传值,当完成相应的动作之后,进行回调,重新制定相关的内容,使其展示Tab栏或者其他之类的应该展示的东西,利用appdelegate的单例功能
2015-09-22 20:06:01
602
原创 iOS开发 ---- 其他控件,弹窗,滑块,菊花,步进,分段等
UIControlHubUISwitch 开关1. 继承于UIControl 默认大小事79*272. 一般通过center属性来设位置3. tintColor 边框的颜色4. onTintColor 开状态的颜色5. thumbColor 小圆点的颜色6. 可以添加事件,和button类似,但事件为UIControlEventValueChangeUISlider 滑块1. 默认高度时
2015-09-22 20:04:28
1050
原创 iOS开发 ----- UISearchBar_UISearchController
UISearchBar简介提供简单的搜索框,方便用户使用一般来说配合UISearchController使用由于iOS8之后不支持UISearchDisplayController,所以建议用上面的相关属性位置_searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 4
2015-09-22 20:03:28
634
原创 iOS开发 ----- UICollectionView
UICollectionView简介和tableView类似的控件,但更零活,tableView是以行为单位的,而collectionView是item,可大可小,对于复杂的布局来说,更加零活代理UICollectionViewDataSourceUICollectionViewDelegateUICollectionViewDelegateFlowLayout使用方法步骤1. 指定布局//首
2015-09-22 20:02:13
536
原创 iOS开发 ----- UITableView
UITableView简介用于展示大量数据的控件也是iOS开发过程中最常用的控件继承与UIScrollView有两个代理@property (nonatomic, weak, nullable) id <UITableViewDataSource> dataSource;@property (nonatomic, weak, nullable) id <UITableViewDelegate
2015-09-22 20:00:45
484
原创 iOS开发 ----- UIScrollview UIPageControl
UIScrollView //创建滚动视图 //scrollViw的视图范围 UIScrollView * scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; [scrollVi
2015-09-22 19:57:01
554
原创 iOS开发 ----- UIGestureRecognizer
UIGestureRecognizer手势识别相关API在添加手势之前要把该View的用户交互打开,不然时无效的imageView.userInteractionEnabled = YES;UITapGestureRecognizer 点击手势//点击手势//发生该手势时调用的方法 UITapGestureRecognizer * tap = [[UITapGestureRecogn
2015-09-22 19:55:52
324
原创 iOS开发 ----- UITablBarController_NSUserDefault
UITabBarController区别UIToolBarController 用于实现平级导航,比如QQ 微信下边的三个按钮 实现平级视图的切换UINavigationController 用于实现具有层级关系的导航实现使用方法//在appdelegate中生命/*toolBarController navigationController1 firstViewCo
2015-09-22 19:54:57
405
原创 iOS开发 ----- Controller之间的传值
Controller之间的传值属性传值A->B传值,在push之前,给B的对象的属性赋值即可,相对简单但这样的话B->A无法传值单例传值单例的话,每次实例化一个对象都是时原来的,所以不会改变这个方法借助第三方类,不管是A->B 还是B->A 之间的传值都可以实现block传值1.A->B的传值 正向传值 流程 1.在B里生命一个block,然后在init的时
2015-09-22 19:52:32
521
原创 iOS控件 ----- UITouch相关
UITouch和重力感应摇一摇开始触摸时调用的方法开始触摸时调用的方法- (void)touchesBegan:(nonnull NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event{ //取到所有触摸对象 UITouch * touch = [touches anyObject]; // 拿到触摸的某个
2015-09-22 19:51:34
595
原创 iOS控件 ----- UITextField
UITextField相关属性的设置//边框样式textField.borderStyle = UITextBorderStyleRoundedRect;//变为第一响应者 自动弹出键盘 [textField becomeFirstResponder];//这是文本框清除按钮的样式 textField.clearButtonMode = UITextFieldViewModeWh
2015-09-22 19:50:47
313
原创 iOS开发 ----- 仿QQ实现滑动显示后边按钮
仿QQ实现滑动显示后边按钮代码传送门简介滑动cell之后,会显示按钮,然后可以实现删除功能这只是一个简单的工程,并不是一个框架或者库之类的想使用的话,可以导入MyTableViewCell.m MyTableViewCell.h到工程中然后遵守协议,实现自己的方法即可默认有三个按钮,可以根据自己的需求增删@protocol MyTableViewCellButtonDelegate <NSObjec
2015-09-12 21:10:47
369
原创 iOS开发 ----- UIButton
UIButton//创建 button 也可以用alloc init方式创建 button的类型为自定义类型 UIButton * button2 = [UIButton buttonWithType:UIButtonTypeCustom];//初始化两张图片 UIImage * image = [UIImage imageNamed:@"1.png"]; UIImage
2015-09-02 20:21:52
290
原创 iOS开发 ----- UIImageView
UIImageView直接继承与UIView除了有UIView的方法之外,还有其他方法设置图片//后边加文件名字,黄色文件夹的话,直接写文件名字,蓝色文件夹的话,要加上文件夹的相对路径imageView.image = [UIImage imageNamed:@"wp_009.jpg"];设置图片的适应模式枚举类型 imageView.contentMode = UIViewContent
2015-09-02 19:51:06
418
原创 iOS开发 ----- UIView
UIViewAPIUI控件的直接或者间接父类初始化方法//其中frame是相对于父控件的位置[[UIView alloc]initWithFrame];center控件的中心位置 CGPoint类型其他通用方法背景颜色view.backgroundColor = [UIColor redColor]文本view.text = @"test"相对于本身的大小view.bounds CGReckMak
2015-09-02 19:49:10
315
原创 iOS开发 ----- UILable
UILable API初始化一个窗口,边界即为整个屏幕的大小 self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];设置背景颜色self.window.backgroundColor = [UIColor whiteColor];初始化一个label CGRectMake 设置lebel的坐标与宽高参
2015-08-31 21:15:54
375
原创 iOS开发 ----- UI生命周期
APP生命周期main函数参数说明1. argc main函数的argc2. argv main函数的argv3. 传入一个类名,但这个类必须是UIApplication的子类 而这个函数会自动创建UIApplication子类的对象,如果是nil的话,则只创建UIApplication的对象4. 传入代理类的名字main函数开始后,维护了一个消息循环,可以说是一个死循环,知道应用手动
2015-08-31 21:15:04
415
原创 iOS开发 ----- 学生管理系统改进版
之前的那个demo没有添加本地文件读写功能,所以每次都比较麻烦,要输入很多东西,才能看到系统的真面目,所以,今天改进了一下,可以读取本地文件,每次操作后都会保存到文件中,以免发生bug导致数据丢失,没有文件的话,会自动新建,然后会提示添加相关数据,然后会自动保存到文件这个完全是用字符串存储的,而年龄的话是int,所以中间会由字符串转int,int转字符串的情况还有就是分割和组合字符串,写到文件中以
2015-07-23 09:38:00
659
原创 iOS开发 ----- C文件读写,以及字符串分割
前几天写的那个学生信息管理系统(虽然博客是同一天写的…..)没有把文件写入本地,这样的话,每次都要输入很是麻烦,所以今天写了个小例子,从本地读取文件并把字符串以空格的方式分开废话不多说,来demo先来个图看看,哈哈哈/************************************************************************* > File Name: r
2015-07-21 20:30:36
556
原创 iOS开发 ----- 关于char *的赋值和字符串之间的复制问题以及sizeof strlen
今天来捯饬捯饬关于char*的问题1 关于数组长度的问题char a[]={'a','b','c','d','e'};int len=sizeof(a);printf("len = %d\n",len); //输出5,直接得出数组长度2,对于数组来说sizeof和strlen的区别char b[20]="this is a string";int len_b_sizeof=sizeof(b)
2015-07-21 20:03:27
7715
原创 iOS开发 ----- C小型学生信息管理系统,单向链表
关于C结构体和单向链表的一个小demo完全是命令行的,估计大二的时候会让写一个关于链表和结构体的东西,这里记录一下,之前写过一个双向循环链表的,这里就不贴了,原理都差不多,多了一个指针而已逻辑是最重要的,逻辑是重要的,逻辑是重要的,重要的事要说三遍,还要用个大字体完全的命令行模式,开始会让先输入4个人的信息,姓名,地址,电话,年龄,为了程序的美观,尽量不要输入中文,排版字符占位不一样文件读写,以及字
2015-07-21 19:04:56
1143
原创 iOS开发 ----- vim命令合集
Vim命令合集vimtutor最主要的学习路径光标移动 h左,l右,j下,k上ctrol +f/b 前后翻一页ctrol +u/d 前后翻半页vim的进入与退出 1. vim +文件名 2. :q退出,:q! :强制退出,:w保存不退出,:wq保存并退出vim删除指令 1. x 删除光标所在的字符 2. dw 删除光标后的单词,以空格分开(包含空格) 3. de 与dw类似(但不包含空格
2015-07-19 11:31:13
604
原创 iOS开发 ----- vim配色
捯饬加摸索 搞了个自以为不错的配色方案点击这里下载solarized.vim 主题 然后把solarized.vim放在/usr/share/vim/vim73/colors下即可 然后把从上边链接下载的文件,放到~/.vim/bundle下,没有可以新建(具体原因我也不清楚,里边有一个readme.md文件,大家可以自行参阅).vimrc配置文件,下边是代码复制文件保存到~/.vimrc中即可
2015-07-17 22:26:53
435
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人