自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qijianli的专栏

海阔凭鱼跃,天高任鸟飞

  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 键盘事件的单击和双击

软件实现的思路来自于前段时间封装flutter三击事情,通过启动一个定时器,在一段时间内累计按键次数,计时结束后,根据次数判断是单击还是双击,因为我们项目只需单击和双击,因此,超过1次的事件累计都算作双击了。在项目系统中有个打分器,打分器内部构造就是键盘薄膜,打分器的每个键都对应键盘上一个键,需要实现单击计分、双击减分的功能,键盘事件其实是没有单击或双击的概念,只能通过软件层实现。

2022-10-27 20:05:41 754

原创 NodeJS倒计时实现

在NodeJS中,一般通过setTimeout和setInterval两个方法实现定时触发任务,setTimeout和setInterval是将任务加入到任务队列,但是这些任务并不会被立即执行,而是要等待之前的任务执行完毕后才会调用,如果任务的计算比较耗时,就会造成技术的不准确,例如setInterval每1秒执行计时任务,setInterval每1秒钟就会向任务队列中添加计时任务,但是并不代表每一秒就会执行计时任务。但是这种方法在JS中并不可行,会出现计时不准确的问题,造成这个问题的原因是事件循环机制。

2022-09-02 16:02:50 577

原创 IOS播放GIF图片

最近项目中需要播放GIF格式图片,很多软件现在都支持GIF格式图片播放,所以最开始以为很简单,UIImageView控件会自动播放GIF格式的图片,才发现是自己想简单了。后来上网查找了一些资料才找到方法,今天记录一下,既是学习也是记录日志,以备日后忘记了可以查阅。如果各位博友有更好的方法,诚请赐教。//将GIF图片转换成对应的图片源CGImageSourceRef gifSourc

2016-11-16 11:21:14 1956

转载 IOS开发之----iTunes下载地址和评论地址

//用户评论地址NSString *str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", KAppID]; /

2014-07-10 09:00:31 1190

转载 iOS中的一些内存问题,block,NSTimer

1.   在block内中,使用self或者类的成员变量,会导致self的引用计数被加1,引起循环引用,导致无法释放当前的self。   如下,mMatchHead是我自定义的一个在VC中贴入的view,用了2个block来进行回调。在withMinuteFinish:这个block中,出现了2个问题,导致循环引用。第一个就是一眼看见的self,

2014-04-29 09:17:03 1785

转载 ios判断邮箱,手机号码,车牌号是否合法(正则表达)

/*邮箱验证 MODIFIED BY HELENSONG*/-(BOOL)isValidateEmail:(NSString *)email{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate pred

2014-03-17 15:04:05 2132

原创 IOS获取网络类型方法分析

公司在做一个项目,需要区分网络类型。Reachability类只能区分WIFI和WWAN类型,却无法区分2G网和3G网。网上也有些方法,却都存在Bug。经过两次的网上查找资料和测试,基本上又三种方法,以下将一一介绍并解析不足。typedefenum{    NetWorkType_None = 0,    NetWorkType_WIFI,    NetWorkType

2014-02-25 18:01:25 14360 5

转载 关于IOS证书

一、成员介绍1.    Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1)    Developer Certification(开发证书)安装在电脑上提供权限:开发人员通过设备进行真机测试。可以生成副本供多台电脑安装;2)      Distribution Certification(发布证书)安装在电脑上提供发布iO

2014-02-18 16:47:14 874

转载 IOS成长之路-ASIFormDataRequest实现上传图片

UIImage *im = [UIImage imageWithContentsOfFile:path];//通过path图片路径获取图片 NSData *data = UIImagePNGRepresentation(im);//获取图片数据 /* ios中获取图片的方法有两种,一种是UIImageJPEGRepresentation ,一种是UIImagePNGRep

2014-02-12 17:34:45 1056

转载 IOS开发之格式化日期时间

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。例如://实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设定时间格式,这里可以设置成自己需要的格式[dateFormatter

2014-02-12 16:23:18 1302

转载 十步完全理解SQL

原文链接: Lukas Eder    翻译: 伯乐在线 - 水果泡腾片译文链接: http://blog.jobbole.com/55086/很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 并且应

2014-01-10 17:42:32 803

转载 十步完全理解SQL

原文链接: Lukas Eder    翻译: 伯乐在线 - 水果泡腾片译文链接: http://blog.jobbole.com/55086/很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 并且应

2014-01-10 17:41:21 828

转载 Mac开关机记录

last  last | grep reboot  last | grep shutdown  或在/var/log/messages日志中查询reboot (系统重启) 或者halt(系统关机)。当然,也可以使用以下两条命令查询:   grep reboot /var/log/messages  grep halt /var/log/messages  附:  lin

2014-01-03 15:13:30 1393 1

原创 IOS检测定位服务

//检测设备是否支持定位+ (BOOL)locationEnable{   return [CLLocationManager locationServicesEnabled];}//检查应用是否支持定位- (BOOL) appLocationEnable {   return [CLLocationManager authorizationSt

2013-10-30 17:22:53 797

转载 UIWindow & UIWindowLevel笔记

一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用:  1、作为容器,包含app所要显示的所有视图  2、传递触摸消息到程序中view和其他对象  3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们

2013-08-26 14:00:40 771

转载 SVN常用命令说明

/***  转载自: http://longdick.javaeye.com*  作者 :longdick*/ SVN版本:1.5 及更新版本名词说明:WC:Working Copy 你的工作区Versioned:受控的;受版本控制的 SVN是什么? SVN是开源的版本控制系统。比CVS更多的特性。

2013-08-23 17:01:25 783

转载 other linker flags

包含静态库时候需要在Target的Other linker flags里面加上值:-objC,-all_load,-force_load对于64位机子和iPhone OS应用解决方法是使用-all_load 或者 -force_load。-all_load强迫链接器从它能看见的所有文档中加载所有的对象文件,甚至那些没有OC代码的文档。-force_load适用于Xc

2013-08-22 10:23:00 745

转载 Iphone开发-NSRunLoop概述和原理

Iphone开发-NSRunLoop概述和原理1.什么是NSRunLoop?我们会经常看到这样的代码:- (IBAction)start:(id)sender{pageStillLoading = YES;[NSThread detachNewThreadSelector:@selector(loadPageInBackground:)toTarge

2013-08-16 15:49:23 841

转载 使用NSRunloop等待异步任务完成

一. 代码及原理[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];[NSDate distantFuture] 表示遥远的将来,基本不会到达。+ (NSRunLoop *)currentRunLoop获取当前线程的

2013-08-16 15:48:07 1541

转载 NSTimer与Run loop Modes

一.NSRunLoop在Cocoa中,每个线程(NSThread)对象中内部都有一个run loop(NSRunLoop)对象用来循环处理输入事件,处理的事件包括两类,一是来自Input sources的异步事件,一是来自Timer sources的同步事件;run Loop在处理输入事件时会产生通知,可以通过Core Foundation向线程中添加run-loop observ

2013-08-16 15:47:01 708

转载 ios 静态库制作过程

最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的框架,估计也是类似动态库的实现,不过没有具体研究过,后续继续深入研究。我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的。Xcode4跟之

2013-07-26 16:18:53 595

转载 xcode4.3.2 下制作ios的framework 库

写在前面:通过 Framework 可以在物理上实现 iOS 程序的模块化。好处:      1、如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性;      2、物理上的模块化便于开发过程的管理与测试,尤其是在程序规模相对大。      3、如果可以使用胶水语言作为粘合剂,程序可以用很少的代价适应未来的变化。不足:

2013-07-26 16:17:54 1273

转载 iOS 消息推送原理及实现总结

转载:http://www.dapps.net/dev/iphone/ios-push-notification-principle-realization.html一、消息推送原理:在实现消息推送之前先提及几个于推送相关概念,如下图:1、 Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理

2013-07-24 16:43:08 790

转载 iOS的UDID废用以及UUID配合keychain的替换方案实现

UDID是Unique Device Identifier的简称,也就是唯一设备标识的意思。于iOS SDK中取得的方法是UIDevice的一个叫uniqueIdentifier的NSString*,由于这个ID字符串是基于设备的,应用开发人员可以通过获取此ID来用于记录区分设备。正是由于这个特性,可能会导致一些隐私等等相关的问题,Apple于iOS5中将这个UDID废掉了,SDK中被标记为了De

2013-07-24 14:39:57 1934

转载 改变UIWebView的字体大小

@interface NSUInteger textFontSize; - (IBAction)changeTextFontSize:(id)sender {     switch ([sender tag]) {         case 1: // A-             textFontSize = (textFontSize > 5

2013-07-22 16:03:52 800

转载 Sizeof与Strlen的区别与联系

一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所

2013-05-30 13:15:45 558

原创 IOS开发获取图片的方法

- (UIImage *) allocImageByImgName:(NSString *)imageName {    NSString *pathStr = nil;    pathStr = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@@2x",imageName] ofType:@"pn

2013-05-22 19:56:18 2715

转载 CFNetwork初步

首先看张图: 此乃MAC OS X系统中CFNetwork和其余软件层的结构图。CFNetwork位于底层,但高效地处理协议栈的操作。BSD套接字提供了一些标准对象来方便操作,如与FTP和HTTP服务器通信,解析DNS主机地址。而CFNetwork就是以BSD套接字为基础。类似,一些cocoa类,如NSURL,使用标准网络协议与服务器通信,就是以CFNetwork为基础。

2013-05-20 12:16:37 960

转载 iOS 动画总结----UIView动画

1.概述UIKit直接将动画集成到UIView类中,实现简单动画的创建过程。UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持。执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码包装到一个代码块中。2.UIView动画具体创建方法- (void)buttonPr

2013-05-20 09:27:44 929

转载 ios检测应用程序是否存在并启动

背景:假如有A,B两个程序(当然都得是你自己写的),想在A程序中判断B程序是否存在本机上,存在就启动他,启动的时候弹出一个对话框,对话框的内容是A程序带过去的。背景到此结束,下面是实现流程。实现:1.在B程序中打开info.plist这个文件新建一个key=URL types,然后在这个下面新建一个URL Schemes,然后下面的item0后面的值为“myapp”,这里的myap

2013-05-15 17:29:57 4838

转载 IOS 中通过URL Schemes让一个应用程序启动另一个指定应用程序

给自己的应用程序注册一个URL,然后可以通过“别的应用”或者“Safari”来打开“注册了URL”的应用。首先给自己程序注册一个URL,在项目plist文件添加如下内容,见下表:(URL types 开始??)然后编译运行程序,模拟器跑起来后,不要停止项目运行,而是直接按模拟器上的home按钮,此时应用退到后台。打开safari,输入todolist://com

2013-05-15 17:18:24 3393

原创 UITableViewCellAccessoryType对应效果

UITableViewCellAccessoryType对应的效果typedefenum{    UITableViewCellAccessoryNone,                  // don't show any accessory view    UITableViewCellAccessoryDisclosureIndicator,   // re

2013-02-20 15:19:10 13385

转载 iOS开发:加载、滑动翻阅大量图片解决方案

常规思路流程点击任意小图后:1.首先制作scrollview框架:大小2个scrollview,小的用于手势缩放单一图片,大的横向依次加载全部照片2.制作好scrollview框架后,加载照片3.一切准备就绪跳转页面呈现给用户选择的大图加载图片这一步,若相册内就10几张照片,那么毫无技术挑战,但是如果是300张照片呢?直接崩溃?还是让用户等待加载? 时间紧任

2013-01-28 13:50:08 1731

原创 IOS 开发中判断字符串是否为空字符的方法

- (BOOL) isBlankString:(NSString *)string {    if (string == nil || string == NULL) {        return YES;    }    if ([string isKindOfClass:[NSNull class]]) {        return YES;    }    i

2013-01-04 09:58:57 59540 2

转载 iOS 17个常用代码整理

12.判断邮箱格式是否正确的代码:  //利用正则表达式验证  -(BOOL)isValidateEmail:(NSString *)email  {      NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";      NSPredicate *emailTest = [NS

2012-12-28 20:40:28 1895

原创 IOS 添加自定义字体库

最新做的一个项目,要求字体为MVBoli,但是IOS系统本身不支持这种格式,然后找个一个MVBOli字体库文件,将mvboli.ttf(同样支持.otf文件)添加到工程中,并在-info.plist文件中添加一项Fonts provided by application,将mvboli.ttf添加到Array或者Dictionary的Value中,可以添加多个文件。然后在工程中就可以通过[

2012-12-26 16:15:42 2610

转载 键盘的相关设置

一、键盘风格   UIKit框架支持8种风格键盘。typedef enum {      UIKeyboardTypeDefault,                // 默认键盘:支持所有字符       UIKeyboardTypeASCIICapable,           // 支持ASCII的默认键盘       UIKeyboardType

2012-12-20 22:26:02 762

原创 UITextField和UITextView限制字符个数的方法

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {    NSInteger textLength = 0;    UITextRange *selectedRange = [textFi

2012-12-18 10:59:37 5832

转载 objective-c 中多线程 同步 之锁

对于有些代码片段,其逻辑是连贯的(有些数据之间的关系是需要保护的),也就是说是一个逻辑单元,在程序中需要标明。objective-c 中标明方法之一就是加锁pthread_mutex_lock这种办法来加锁需要声明pthread_mutex_t 变量,该变量用来识别不同的锁。NSlock一般使用子类锁NSconditionLock条件锁 是 为了

2012-12-13 20:37:00 2470

转载 修改UIImagePickerController拍照后旋转问题

#pragma mark UIImagePickerControllerDelegate- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{    [picker dismissModalViewControl

2012-12-13 19:36:34 4884

IOS ToastKit

模仿Android的安卓功能,可以在页面显示提示信息,一定时间后消息

2013-08-09

空空如也

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

TA关注的人

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