Objective-C
yqzh186
这个作者很懒,什么都没留下…
展开
-
欢迎使用CSDN-markdown编辑器
前言有关二维码的介绍,我这里不做过多说明, 可以直接去基维百科查看,附上链接QR code. IOS7之前,开发者进行扫码编程时,一般会借助第三方库。常用的是ZBarSDKa和ZXingObjC,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口。经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库。扫描官方提供的接口非常简单,直接看代码,主要使用的转载 2016-09-30 09:58:45 · 389 阅读 · 0 评论 -
NSTimer
//创建NSTimerNSTimer*timer = [[NSTimeralloc]init]; //每1秒运行一次function方法。 timer = [NSTimer scheduledTimerWithTimeInterval:1.0target:selfselector:@selector(function:) userInfo:原创 2015-10-26 13:18:08 · 221 阅读 · 0 评论 -
UIProgressView进度条
//创建 UIProgressView *progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleBar]; [self.view addSubview:progressView]; [progressView release]; progressV原创 2015-10-28 10:47:10 · 282 阅读 · 0 评论 -
夜间模式
夜间模式:利用继承与NSUserDefaults1.创建基类,负责夜间模式的转换2.所有的类都继承于基类,基类的模式改变了,所有子类的模式也改变了3.夜间模式触发的按钮发送通知4.利用NSUserDefault把模式保存到本地/*************基类.h***************/#import"BaseViewController.原创 2015-10-28 10:45:54 · 554 阅读 · 0 评论 -
通知
#warning通知第一步,注册通知 // NSNotification 消息通知类,是抽象类,使用他的子类,消息中心 单例 [[NSNotificationCenterdefaultCenter] addObserver:self selector:@selector(changeColor:)name:@"changeColor原创 2015-10-28 10:44:24 · 234 阅读 · 0 评论 -
iPhone尺寸
/* 屏幕尺寸 物理pt 像素pxiPhone4 320 * 480 2倍iPhone4s 320 * 480 2倍iPhone5 320 * 568 2倍iPhone6 375 * 667 2倍iPhone6plus 414 * 736 3倍iPhone6s原创 2015-10-26 13:22:39 · 278 阅读 · 0 评论 -
UIImagePickerController从本地相册加载图片
/*1.签两个协议协议 UIImagePickerControllerDelegate UINavigationControllerDelegate 2.两个方法方法一://点击按钮触发的方法-(void)buttonAction:(UIButton*)button{ //创原创 2015-10-26 13:19:04 · 240 阅读 · 0 评论 -
model归档
#import #warning 归档第一步:让model签订NSCoding协议@interface Student : NSObject@property(nonatomic,copy)NSString *name;@property(nonatomic,assign)NSInteger age;@property(nonatomic,copy)NSString *gender;原创 2015-10-28 18:28:27 · 243 阅读 · 0 评论 -
UIscrollView滚动时调用的方法
//UIscrollView开始拖拽的时候调用- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ NSLog(@"开始拖拽");}//UIscrollView拖拽结束的时候调用-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView will原创 2015-10-28 10:52:37 · 747 阅读 · 0 评论 -
storyboard传值
#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {原创 2015-10-28 11:19:03 · 240 阅读 · 0 评论 -
UIDevice
UIDevice UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。其中大部分属性都对开发工作具有积极的辅助作用。下面的代码简单的使用UIDevice获取手机属性。原创 2015-10-29 19:31:10 · 434 阅读 · 0 评论 -
UISlider滑条
UISlider*slider = [[UISlideralloc]initWithFrame:CGRectMake(80,400,200,40)]; [self.view addSubview:slider]; [slider release]; slider.backgroundColor = [UIColor lightGrayColor]; //最小原创 2015-10-28 18:37:02 · 379 阅读 · 0 评论 -
MPMoviePlayerViewController和MPMoviePlayerController
- (void)viewDidLoad { [super viewDidLoad]; [self playVideo:[NSURL URLWithString:self.playURL]];}//根据视频url播放视频- (void) playVideo:(NSURL *) movieURL{ MPMoviePlayerViewController *playe原创 2015-10-28 18:25:31 · 281 阅读 · 0 评论 -
cell的几种style
cell.accessoryType = UITableViewCellAccessoryNone;//cell没有任何的样式 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;//cell的右边有一个小箭头,距离右边有十几像素; cell.accessoryType原创 2015-10-28 18:24:27 · 385 阅读 · 0 评论 -
获取当前时间
//获取当前时间 NSDate *date = [NSDate date]; //时间格式 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; dateFormatter.dateFormat = @"YYYY-MM-dd HH:mm:ss"; //时间转换 NSString原创 2015-10-28 15:15:11 · 286 阅读 · 0 评论 -
UITextField
//创建 UITextField*textfield = [[UITextField alloc]initWithFrame:CGRectMake(20,20,200,40)]; [self.window addSubview:self.myTextField]; //设置背景颜色 self.myTextField.backgro原创 2015-10-28 14:06:26 · 164 阅读 · 0 评论 -
NSString
/***********************NSString***********************/#pragma mark 获取字符串长度 string.length NSString *string = @"12345678"; NSLog(@"%ld",string.length);#pragma mark 获取子字符串,调用系统方法 substringFr原创 2015-10-28 14:05:36 · 249 阅读 · 0 评论 -
数组 基本用法和排序
1.创建数组[objc] view plaincopy// 创建一个空的数组 NSArray *array = [NSArray array]; // 创建有1个元素的数组 array = [NSArray arrayWithObject:@"123"]; // 创建有多个元素的数组 array转载 2015-10-28 11:37:49 · 236 阅读 · 0 评论 -
屏幕横屏竖屏转换
//横屏 if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { SEL selector = NSSelectorFromString(@"setOrientation:"); NSInvocation *invocation = [NSInvocati原创 2015-10-28 18:27:14 · 541 阅读 · 0 评论 -
UIPageControl
/*****************创建UIPageControl*********************/ //创建UIPageControl self.pageC= [[UIPageControlalloc]initWithFrame:CGRectMake((WIDTH-300)/2,HEIGHT-60,300,50)]; [sel原创 2015-10-26 13:17:19 · 255 阅读 · 0 评论 -
UIBlurEffect系统自带毛玻璃效果
//需要模糊效果的view UIImageView *i = [[UIImageViewalloc]initWithFrame:CGRectMake(100,100,100,200)]; [self.viewaddSubview:i]; i.image= [UIImageimageNamed:@"1"]; //创原创 2015-10-26 12:13:41 · 2007 阅读 · 0 评论 -
删除Xcode插件
直接进入插件所在的目录,将插件删除即可。插件路径为:~/Library/Application Support/Developer/Shared/Xcode/Plug-insLibrary文件夹(即资源库)默认是隐藏的,所以你可以使用一下方法打开该路径:Finder 前往->前往文件夹(快捷键cmd+Shift+G),输入以上路径,回车,找到Fuzzy Aotoco原创 2016-05-03 13:42:46 · 293 阅读 · 0 评论 -
按照时间排序
//排序 对时间进行排序 NSMutableArray *dataArray=[[NSMutableArray alloc]initWithCapacity:0]; NSMutableDictionary *dir=[[NSMutableDictionary alloc]init]; [dir setObject:@"2012-12-02" forKey:@"time"];原创 2016-05-03 13:45:32 · 435 阅读 · 0 评论 -
oc 播放gif动画
// 设定位置和大小 CGRect frame = CGRectMake(50,50,0,0); frame.size = [UIImage imageNamed:@"load.gif"].size; // 读取gif图片数据 NSData *gif = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] p原创 2016-05-03 13:47:29 · 591 阅读 · 0 评论 -
NSHTTPCookieStorage
//保存cookie+ (void)saveCookies { NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]]; NSUserDefaults *defaults = [NSUser原创 2016-05-03 13:49:02 · 316 阅读 · 0 评论 -
[译]Core Animation 3D介绍(第1部分)
尊重原创 转自:http://codingobjc.com/blog/2013/06/11/core-animation-3djie-shao-di-1bu-fen/在本教程中,我将向你介绍Core Animation中用于绘制3D图形的一些技术。我要告诉你的好消息是:我们不必直接使用OpenGL,仅仅用Core Animation就可以很容易的实现一些3D效果。但是,转载 2016-06-29 11:19:22 · 466 阅读 · 0 评论 -
NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
摘要NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了一、了解NSUserDefaults以及它可以直接存储的类型 NSUserDefaults是一个单例,转载 2016-08-31 11:02:48 · 317 阅读 · 0 评论 -
iOS实现一个颜色渐变的弧形进度条
转自:https://www.ganlvji.com/gradient_circle_progress/1、先来一个结果80%的状态:99%的状态:2、需要用到的宏: #define degreesToRadians(x) (M_PI*(x)/180.0) //把角度转换成PI的方式#define PROGREESS_WIDTH 80转载 2016-09-19 14:05:16 · 1545 阅读 · 0 评论 -
Core Data
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:转载 2015-10-26 10:56:53 · 206 阅读 · 0 评论 -
计算字符串的宽或者高
/** *返回值是该字符串所占的大小(width, height) *font : 该字符串所用的字体(字体大小不一样,显示出来的面积也不同) *maxSize : 为限制改字体的最大宽和高(如果显示一行,则宽高都设置为MAXFLOAT,如果显示为多行,只需将宽设置一个有限定长值,高设置为MAXFLOAT) */+(CGSize)sizeWithFo原创 2015-10-26 12:00:25 · 410 阅读 · 0 评论 -
target action
//自定义target: action:方法#warning第一步声明target和action属性@property(nonatomic,assign)idmyTarget;@property(nonatomic,assign)SELmyAction;#warning第二部声明方法-(vo原创 2015-10-26 13:15:39 · 180 阅读 · 0 评论 -
协议
协议共分六步:1.声明协议2.声明代理人属性3.执行协议方法4.签订协议5.指定代理人6.实现协议方法/******************声明协议的类****************************//******************声明协议的类.h********************原创 2015-10-26 13:14:23 · 276 阅读 · 0 评论 -
UIControlEvents
UIControlEventstypedefNS_OPTIONS(NSUInteger, UIControlEvents) { UIControlEventTouchDown =1 0, // on all touch downs UIControlEventTouchDownRepeat = 1 1,原创 2015-10-26 13:13:08 · 283 阅读 · 0 评论 -
模态
/*模态:就是从一个页面中弹出一个临时的页面,用来收集用户信息,常用于登陆注册页面*/aViewController.m中调用bViewController.m的模态aViewController.m/*****************************************/在 - (void)viewDi原创 2015-10-26 13:12:03 · 303 阅读 · 0 评论 -
汉字转拼音
带音标CFMutableStringRefstring = CFStringCreateMutableCopy(NULL,0,CFSTR("中国")); CFStringTransform(string,NULL,kCFStringTransformMandarinLatin,NO); NSLog(@"%@", string);原创 2015-10-26 12:16:38 · 361 阅读 · 0 评论 -
UIAlertController
//初始化方法 + (instancetype)alertControllerWithTitle:(nullableNSString *)title message:(nullableNSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle; //UIAlertCont原创 2015-10-26 12:15:32 · 302 阅读 · 0 评论 -
音乐播放器时间
NSNumber*n = [self.dataDicvalueForKey:@"duration"]; self.progressSilder.maximumValue= n.floatValue; self.progressSilder.value= progress; //当前时长进度progress NSI原创 2015-10-26 12:14:26 · 331 阅读 · 0 评论 -
长按保存图片到本地
//创建UILongPressGestureRecognizer UILongPressGestureRecognizer*longPG = [[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(longAction:) ]; [selfaddGestureRecog原创 2015-10-26 12:12:23 · 1273 阅读 · 0 评论 -
推送通知
和本地通知不同,推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端。下面是苹果官方关于推送通知的过程示意图:推送通知的过程可以分为以下几步:应用服务提供商从服务器端把要发送的消息和设备令牌(device token)发送给苹果的消息推送服务器APNs。APNs根据设备令牌在已注册的设备(iPhone、i转载 2015-10-30 09:13:19 · 361 阅读 · 0 评论 -
iOS之 CoreMotion 框架
在项目中经常会使用到重力加速度,陀螺仪,最近在一个项目中使用到了CoreMotion 框架,需求是:上下摇摆手机控制智能椅子的角度调节,该项目是使用蓝牙4.0进行通讯的,在iOS 内已经封装好了CoreBluetooth 框架,不过需要iPHone4s 以上的手机,和iPad min 以上的平板电脑才有蓝牙4.0. 今天在这里先记录一下CoreMotion 框架的使用. 主要的原创 2015-10-30 10:50:48 · 466 阅读 · 0 评论