- 博客(91)
- 资源 (1)
- 收藏
- 关注
原创 键盘事件的单击和双击
软件实现的思路来自于前段时间封装flutter三击事情,通过启动一个定时器,在一段时间内累计按键次数,计时结束后,根据次数判断是单击还是双击,因为我们项目只需单击和双击,因此,超过1次的事件累计都算作双击了。在项目系统中有个打分器,打分器内部构造就是键盘薄膜,打分器的每个键都对应键盘上一个键,需要实现单击计分、双击减分的功能,键盘事件其实是没有单击或双击的概念,只能通过软件层实现。
2022-10-27 20:05:41 810
原创 NodeJS倒计时实现
在NodeJS中,一般通过setTimeout和setInterval两个方法实现定时触发任务,setTimeout和setInterval是将任务加入到任务队列,但是这些任务并不会被立即执行,而是要等待之前的任务执行完毕后才会调用,如果任务的计算比较耗时,就会造成技术的不准确,例如setInterval每1秒执行计时任务,setInterval每1秒钟就会向任务队列中添加计时任务,但是并不代表每一秒就会执行计时任务。但是这种方法在JS中并不可行,会出现计时不准确的问题,造成这个问题的原因是事件循环机制。
2022-09-02 16:02:50 641
原创 IOS播放GIF图片
最近项目中需要播放GIF格式图片,很多软件现在都支持GIF格式图片播放,所以最开始以为很简单,UIImageView控件会自动播放GIF格式的图片,才发现是自己想简单了。后来上网查找了一些资料才找到方法,今天记录一下,既是学习也是记录日志,以备日后忘记了可以查阅。如果各位博友有更好的方法,诚请赐教。//将GIF图片转换成对应的图片源CGImageSourceRef gifSourc
2016-11-16 11:21:14 1986
转载 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 1220
转载 iOS中的一些内存问题,block,NSTimer
1. 在block内中,使用self或者类的成员变量,会导致self的引用计数被加1,引起循环引用,导致无法释放当前的self。 如下,mMatchHead是我自定义的一个在VC中贴入的view,用了2个block来进行回调。在withMinuteFinish:这个block中,出现了2个问题,导致循环引用。第一个就是一眼看见的self,
2014-04-29 09:17:03 1807
转载 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 2155
原创 IOS获取网络类型方法分析
公司在做一个项目,需要区分网络类型。Reachability类只能区分WIFI和WWAN类型,却无法区分2G网和3G网。网上也有些方法,却都存在Bug。经过两次的网上查找资料和测试,基本上又三种方法,以下将一一介绍并解析不足。typedefenum{ NetWorkType_None = 0, NetWorkType_WIFI, NetWorkType
2014-02-25 18:01:25 14441 5
转载 关于IOS证书
一、成员介绍1. Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1) Developer Certification(开发证书)安装在电脑上提供权限:开发人员通过设备进行真机测试。可以生成副本供多台电脑安装;2) Distribution Certification(发布证书)安装在电脑上提供发布iO
2014-02-18 16:47:14 895
转载 IOS成长之路-ASIFormDataRequest实现上传图片
UIImage *im = [UIImage imageWithContentsOfFile:path];//通过path图片路径获取图片 NSData *data = UIImagePNGRepresentation(im);//获取图片数据 /* ios中获取图片的方法有两种,一种是UIImageJPEGRepresentation ,一种是UIImagePNGRep
2014-02-12 17:34:45 1076
转载 IOS开发之格式化日期时间
在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。例如://实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设定时间格式,这里可以设置成自己需要的格式[dateFormatter
2014-02-12 16:23:18 1322
转载 十步完全理解SQL
原文链接: Lukas Eder 翻译: 伯乐在线 - 水果泡腾片译文链接: http://blog.jobbole.com/55086/很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 并且应
2014-01-10 17:42:32 817
转载 十步完全理解SQL
原文链接: Lukas Eder 翻译: 伯乐在线 - 水果泡腾片译文链接: http://blog.jobbole.com/55086/很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 并且应
2014-01-10 17:41:21 844
转载 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 1454 1
原创 IOS检测定位服务
//检测设备是否支持定位+ (BOOL)locationEnable{ return [CLLocationManager locationServicesEnabled];}//检查应用是否支持定位- (BOOL) appLocationEnable { return [CLLocationManager authorizationSt
2013-10-30 17:22:53 826
转载 UIWindow & UIWindowLevel笔记
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们
2013-08-26 14:00:40 796
转载 SVN常用命令说明
/*** 转载自: http://longdick.javaeye.com* 作者 :longdick*/ SVN版本:1.5 及更新版本名词说明:WC:Working Copy 你的工作区Versioned:受控的;受版本控制的 SVN是什么? SVN是开源的版本控制系统。比CVS更多的特性。
2013-08-23 17:01:25 817
转载 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 773
转载 Iphone开发-NSRunLoop概述和原理
Iphone开发-NSRunLoop概述和原理1.什么是NSRunLoop?我们会经常看到这样的代码:- (IBAction)start:(id)sender{pageStillLoading = YES;[NSThread detachNewThreadSelector:@selector(loadPageInBackground:)toTarge
2013-08-16 15:49:23 863
转载 使用NSRunloop等待异步任务完成
一. 代码及原理[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];[NSDate distantFuture] 表示遥远的将来,基本不会到达。+ (NSRunLoop *)currentRunLoop获取当前线程的
2013-08-16 15:48:07 1583
转载 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 722
转载 ios 静态库制作过程
最近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同Android上的*.so和Win32上的dll这样的说法。不过Framework这样的框架,估计也是类似动态库的实现,不过没有具体研究过,后续继续深入研究。我这个文档的静态库的开发是基于Xcode4.2和iOS SDK5.0编写的。Xcode4跟之
2013-07-26 16:18:53 611
转载 xcode4.3.2 下制作ios的framework 库
写在前面:通过 Framework 可以在物理上实现 iOS 程序的模块化。好处: 1、如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性; 2、物理上的模块化便于开发过程的管理与测试,尤其是在程序规模相对大。 3、如果可以使用胶水语言作为粘合剂,程序可以用很少的代价适应未来的变化。不足:
2013-07-26 16:17:54 1303
转载 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 807
转载 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 1974
转载 改变UIWebView的字体大小
@interface NSUInteger textFontSize; - (IBAction)changeTextFontSize:(id)sender { switch ([sender tag]) { case 1: // A- textFontSize = (textFontSize > 5
2013-07-22 16:03:52 812
转载 Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所
2013-05-30 13:15:45 572
原创 IOS开发获取图片的方法
- (UIImage *) allocImageByImgName:(NSString *)imageName { NSString *pathStr = nil; pathStr = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@@2x",imageName] ofType:@"pn
2013-05-22 19:56:18 2742
转载 CFNetwork初步
首先看张图: 此乃MAC OS X系统中CFNetwork和其余软件层的结构图。CFNetwork位于底层,但高效地处理协议栈的操作。BSD套接字提供了一些标准对象来方便操作,如与FTP和HTTP服务器通信,解析DNS主机地址。而CFNetwork就是以BSD套接字为基础。类似,一些cocoa类,如NSURL,使用标准网络协议与服务器通信,就是以CFNetwork为基础。
2013-05-20 12:16:37 977
转载 iOS 动画总结----UIView动画
1.概述UIKit直接将动画集成到UIView类中,实现简单动画的创建过程。UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持。执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码包装到一个代码块中。2.UIView动画具体创建方法- (void)buttonPr
2013-05-20 09:27:44 952
转载 ios检测应用程序是否存在并启动
背景:假如有A,B两个程序(当然都得是你自己写的),想在A程序中判断B程序是否存在本机上,存在就启动他,启动的时候弹出一个对话框,对话框的内容是A程序带过去的。背景到此结束,下面是实现流程。实现:1.在B程序中打开info.plist这个文件新建一个key=URL types,然后在这个下面新建一个URL Schemes,然后下面的item0后面的值为“myapp”,这里的myap
2013-05-15 17:29:57 4982
转载 IOS 中通过URL Schemes让一个应用程序启动另一个指定应用程序
给自己的应用程序注册一个URL,然后可以通过“别的应用”或者“Safari”来打开“注册了URL”的应用。首先给自己程序注册一个URL,在项目plist文件添加如下内容,见下表:(URL types 开始??)然后编译运行程序,模拟器跑起来后,不要停止项目运行,而是直接按模拟器上的home按钮,此时应用退到后台。打开safari,输入todolist://com
2013-05-15 17:18:24 3424
原创 UITableViewCellAccessoryType对应效果
UITableViewCellAccessoryType对应的效果typedefenum{ UITableViewCellAccessoryNone, // don't show any accessory view UITableViewCellAccessoryDisclosureIndicator, // re
2013-02-20 15:19:10 13417
转载 iOS开发:加载、滑动翻阅大量图片解决方案
常规思路流程点击任意小图后:1.首先制作scrollview框架:大小2个scrollview,小的用于手势缩放单一图片,大的横向依次加载全部照片2.制作好scrollview框架后,加载照片3.一切准备就绪跳转页面呈现给用户选择的大图加载图片这一步,若相册内就10几张照片,那么毫无技术挑战,但是如果是300张照片呢?直接崩溃?还是让用户等待加载? 时间紧任
2013-01-28 13:50:08 1762
原创 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 59610 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 1924
原创 IOS 添加自定义字体库
最新做的一个项目,要求字体为MVBoli,但是IOS系统本身不支持这种格式,然后找个一个MVBOli字体库文件,将mvboli.ttf(同样支持.otf文件)添加到工程中,并在-info.plist文件中添加一项Fonts provided by application,将mvboli.ttf添加到Array或者Dictionary的Value中,可以添加多个文件。然后在工程中就可以通过[
2012-12-26 16:15:42 2638
转载 键盘的相关设置
一、键盘风格 UIKit框架支持8种风格键盘。typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardType
2012-12-20 22:26:02 782
原创 UITextField和UITextView限制字符个数的方法
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSInteger textLength = 0; UITextRange *selectedRange = [textFi
2012-12-18 10:59:37 5854
转载 objective-c 中多线程 同步 之锁
对于有些代码片段,其逻辑是连贯的(有些数据之间的关系是需要保护的),也就是说是一个逻辑单元,在程序中需要标明。objective-c 中标明方法之一就是加锁pthread_mutex_lock这种办法来加锁需要声明pthread_mutex_t 变量,该变量用来识别不同的锁。NSlock一般使用子类锁NSconditionLock条件锁 是 为了
2012-12-13 20:37:00 2502
转载 修改UIImagePickerController拍照后旋转问题
#pragma mark UIImagePickerControllerDelegate- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ [picker dismissModalViewControl
2012-12-13 19:36:34 4919
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人